Drupal путь к флэш-ресурсам - PullRequest
1 голос
/ 27 августа 2010

У меня есть следующий javascript для вставки флеш-памяти в мою страницукаталог 'customtheme'.Как мне изменить пути?

Спасибо за помощь!Роберт

Ответы [ 2 ]

1 голос
/ 28 августа 2010

Я проверил у автора флеш-памяти, и они попросили меня добавить параметр base: в var params, чтобы указать базовую папку, в которой я могу найти все флеш-файлы. В конце вот что я сделал, чтобы он работал в Drupal.

                            <script type="text/javascript">
                            <!--
                            var flashvars = {
                                //xmlUrl: "path/to/xml/filename.xml"    //Use to change XML filename or location
                            };
                            var params = {
                                base: "<?php print $base_path.$directory."/" ?>rotator/",
                                scale: "noscale",
                                menu: "false",
                                bgcolor: "#666666"
                            };
                            var attributes = {
                                id: "banner_swf",
                                name: "banner_swf"
                            };
                            swfobject.embedSWF("<?php print $base_path.$directory."/" ?>rotator/banner.swf", "banner_div", "876", "300", "4", "swfobject/expressInstall.swf", flashvars, params, attributes);
                            //-->
                        </script>
0 голосов
/ 27 августа 2010

Чтобы проложить путь к своей теме, вы можете сделать:

<?php $theme_path = $base_path . path_to_theme(); ?>

Тогда вы можете использовать это позже.

Теперь, если вы хотите сделать вещи более красивыми, выследует переместить весь этот javascript в файл js и добавить его в файл .info вашей темы.Это заставит drupal минимизировать и кешировать его.

Тогда вам нужно будет добавить путь к вашему javascript, и именно для этого предназначена глобальная переменная Drupal js.Вы можете сделать это в своем хуке preprocss page.

function my_theme_preprocess_page(&$vars) {
  drupal_add_js(array('myTheme' => array('themePath' => $vars['base_path'] . path_to_theme()), 'setting');
}

Затем в вашем js-файле вы можете получить эту переменную:

var path = Drupal.settings.myTheme.themePath;

Чтобы сделать вещи в Drupal такими, как вы, нужно сделать всеваш javascript в поведении, которое выполняется после загрузки страницы:

Drupal.behaviors.myThemeAddFlash = function () {
  // Do your thing here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...