2014-09-01 5 views
0

У меня проблема и не удалось найти ответ, так что извините, если это было опубликовано раньше.Как загрузить xml в flash через php?

У меня есть 2 SWF-файла для кроссворда: первый из них предназначен для создания головоломок и вывода XML-файлов при нажатии кнопки «Сохранить», а второй SWF отображает эти головоломки пользователям, перечисляя и загружая эти файлы XML и после щелкая по нему, загружает выбранный файл XML в SWF. До сих пор это нормально. Но мне нужно использовать веб-интерфейс, чтобы пользователь внутри веб-сайта видел эти XML-список на веб-странице и, щелкнув/выбрав, второй SWF загрузит связанный файл XML. Мне нужно это, потому что я организую эти XML-файлы с некоторыми модулями внутри drupal, такими как Organic Groups. Таким образом, каждый пользователь увидит разные списки XML-файлов. Например, у меня есть две группы, созданные с моим модулем органических групп внутри drupal, каждая группа имеет другой редактор. Таким образом, эти редакторы создадут головоломки и установят их для своих групп с помощью модуля органических групп Любая идея? Спасибо за наступление,

+0

Пожалуйста, более конкретно с вашим вопросом. Трудно сказать, о чем вы спрашиваете. – 2pha

+0

Я отредактировал сообщение и попытался дать более подробную информацию. Я не знаю, это кажется ясным, но я могу быть более ясным, если вы скажете, что вы не поняли. – kazimgamer

+0

hmm. Кажется, что ваш вопрос: «Но мне нужно использовать веб-интерфейс, чтобы пользователь внутри веб-сайта видел эти XML-список на веб-странице и, щелкнув/выбрав, второй SWF загрузит связанный XML-файл». Что вы уже пробовали? Как хранятся файлы XML в drupal? – 2pha

ответ

0

Вот как я исправил проблему. Создал пользовательский узел - puzzle.tpl.php для моего файла puzzleplay.swf. Этот шаблон настраиваемого узла принимает URL-адрес XML-файла, прикрепленного к полю «field_xml» внутри «головоломки» типа узла.Затем этот URL-адрес отправляется в AS3 с помощью Flashvars, так что каждый раз, когда есть узел с XML-файлом, прикрепленным к field_xml, puzzleplay.swf загружает этот конкретный xml из URL-адреса, отправленного с помощью Flashvars.

узел - puzzle.tpl.php:

<?php 
    $xmlpath = file_create_url($node->field_xml['und']['0']['uri']); 
    ?> 
    <object 
    <param name="AllowScriptAccess" value="always"> 
    <param name="allowFullScreen" value="true" /> 
    <param name="quality" value="high" /> 
    <param name="flashVars" value="xmlPath= <?php echo $xmlpath; ?>" /> 
    <param name="movie" value="/path/to/puzzleplay.swf" /> 
    <embed allowScriptAccess="always" flashvars="xmlPath=<?php echo $xmlpath; ?>"src="/path/to/puzzleplay.swf" type="application/x-shockwave-flash" ></embed> 
</object> 

AS3 код:

var XML_URL:String = root.loaderInfo.parameters.xmlPath; 
var myXMLURL:URLRequest = new URLRequest(XML_URL); 
var myLoader:URLLoader = new URLLoader(myXMLURL); 
myLoader.addEventListener("complete", xmlLoaded); 
0

Я новичок в drupal, но после некоторых исследований, я думаю, что я решил, что возможно и разумно сделать это с помощью друга. Итак, чтобы довести дело до конца;

  • У меня есть создатель головоломки swf и swf-плеер для головоломки.
  • Создатель головоломок на самом деле генерирует некоторые XML-файлы, которые могут играть головоломка (swf).
  • Эти файлы xml должны храниться в Drupal.
  • Сохраненное поведение файлов xml совпадает с поведением органических групп. Если файлы, принадлежащие к определенной группе, доступны членам группы.

Так что идея реализации здесь,

1.) персонализированная страница для создания головоломки с помощью головоломки мейкера (SWF). Контент типа «Логические данные» для хранения файлов xml. Этот узел находится под органическими группами.

2.) Редакторы создают головоломку (все в порядке до сих пор здесь), и файл xml будет загружен на компьютер редактора.

3.) Теперь редактор может загрузить файл xml и прикрепить его к узлу «Головоломки данных».

4.) Теперь я могу создать представление, чтобы отобразить все узлы «Головоломки данных» в органической группе с модулем Views.

5.) Теперь идет сложная часть. Фактическим отображением узла должен быть Player Player (swf), который использует файл «xml», загруженный в узел.

После некоторых исследований я могу достичь этого либо путем создания шаблона пользовательского узла, либо создания настраиваемого форматирования поля. Поэтому здесь мне нужна помощь с php-кодами, чтобы я мог создать поле - field-name-content-type.tpl.php. Я провел некоторое исследование и не смог найти подробный пример, который подходит для моей проблемы.

(Btw этот 2-й шаг: загрузка xml и последующая загрузка его на узел - это что-то нежелательное, возможно, создатель головоломок (swf) может быть встроен внутрь узла/добавить путь для типа содержимого головоломок данных, а редакторы могут скачать xml, так что загрузите он снова в поле на той же странице. )

Смежные вопросы