We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28207
    • 22 Posts
    Пытаюсь прикрутить к modx moch UI...проблема такая: Как передать в javascript документ(параметр) modx? При размещении в шапке ссылки на скрипт - не работает. При запихивании всего кода в шапку - работает...но так плохо...
    Выглядит то, куда надо засунуть параметры так:
    MochaUI.slideshareWindow = function(){
    new MochaUI.Window({
    id: ’slideshare’,
    title: ’Slideshare in Iframe’,
    loadMethod: ’iframe’,
    contentURL: ’pages/slideshare.html’,
    width: 415,
    height: 355,
    resizeLimit: {’x’: [330, 2500], ’y’: [250, 2000]},
    contentBgColor: ’#000’
    });

    Соответственно, надо указать в contentURL ID документа....но из файла - не работает...Сам я еще тот програмист...но подозреваю, что возможно обращение к bd...Подскажите?
      • 1611
      • 591 Posts
      вам поможет плейсхолдер [+id+] если вам надо получить id документа, или, если я правильно понял, и вам нужен URL, то [~[+id+]~]
      Пишите это там, где вы генерируете приведенный вами код. Т.е., видимо, в шаблоне.
        • 28207
        • 22 Posts
        Так и пытался сделать...приведенный мной код находиться в .Js...и его там много, если его поместить в шапку шаблона, то да...все работает....но кода много! undecided, а из .js файла не работает...The requested URL /[~6~] was not found on this server
          • 26704
          • 115 Posts
          >но из файла - не работает
          возможно я не поняла суть проблемы, но что мешает вам в системе создать документ, указать у него тип text/javascript и вставить js код туда. при этом в шаблоне (в шапке) вызвать его обычным подключением js файла. Вот тут показано как можно создавать динамические css, с js все аналогично. Единственное что могу добавить - я использую последнюю версию системы и для подключения css и js созданных таким образом никакие дополнительные директивы в .htaccess не добавляла (в IE все прекрасно работает без них), подключение произвожу не через импорт, а по средством тега link. Надеюсь, что это поможет.
            • 1611
            • 591 Posts
            да да, если вы хотите использовать эту конструкцию в js файле, то он должен обрабатываться modx’ом. Т.е. должен быть одним из документов вашего дерева.
              • 28207
              • 22 Posts
              Спасибо, буду копать... huh Спасибо, буду копать... huh Увы, пока ничего не работает...разместил по вашему совету в шапке ссылку на документы js в системе (в них поместил код из файлов js), назначил тип text/javascript...выдает белую страницу...не работает

              <script type="text/javascript" charset="utf-8">@import url(’[(site_url)][~3~]’);</script>
              <script type="text/javascript" charset="utf-8">@import url(’[(site_url)][~2~]’);</script>

              IE на это выдал ошибку "Условная компиляция выключена"


              Уря, вроде решил вопрос - вот этот метод помог...http://www.phpied.com/files/jinc/test4.html
                • 1611
                • 591 Posts
                а вы уверены что внутри тега script можно испльзовать конструкцию @import? я думал это только для css
                Попробуйте через link
                  • 26704
                  • 115 Posts
                  >вроде решил вопрос - вот этот метод помог
                  плохое решение, стоит использовать link
                    • 28207
                    • 22 Posts
                    Увы...<link type="text/javascript" > @import url(’index.php?id=12’); </link>...результата не дал
                    а вот это - работает...<script language="javascript" type="text/javascript">
                            function include_dom(script_filename) {
                                var html_doc = document.getElementsByTagName(’head’).item(0);
                                var js = document.createElement(’script’);
                                js.setAttribute(’language’, ’javascript’);
                                js.setAttribute(’type’, ’text/javascript’);
                                js.setAttribute(’src’, script_filename);
                                html_doc.appendChild(js);
                                return false;
                            }

                            function afterload(){
                                var which_script = ’index.php?id=12’;
                                include_dom(which_script);
                            }

                            window.onload = afterload;

                            </script>
                    А чем вариант плох?...Альтернативы пока не нашел...ишу
                      • 1611
                      • 591 Posts
                      Ужос. Учите HTML.
                      Так как вы подключате яваскрипт, никогда не работало, и работать не будет.

                      А поедложенный метод действительно слишком сложен и неоправдан.