Drupal 6 jQuery UI Вкладки в настроенном node.tpl.php - PullRequest
2 голосов
/ 18 ноября 2010

HI All,

Долгое время читатель, впервые звонящий.

Мне не удается заставить виджет вкладки jQuery работать в настроенном шаблоне узла Drupal.

То, что я получаю в своих браузерах, - это обычный визуализированный HTML;т.е. нет виджетов и сообщений об ошибках ни в одной из отладочных консолей браузера.

Я тестировал в IE8 / Firefox 3.6 и Chrome 7 все с одинаковым результатом.

Я использую Drupal 6 / jQuery 1.2.6 / jQuery UI 1.6

Чтобы попытаться определить, связана ли проблема с настройкой пути к файлу Drupal 6, я попыталсяJQuery Аккордеон и Draggable.Аккордеон воспроизводится как HTML, как вкладки (сбой), однако блок Draggable работает.Это указывает на то, что Drupal создает правильные сценарии в заголовке HTML.

Я также вставил оповещения в блок Drupal.behaviors, чтобы попытаться подтвердить, что они выполняются;то есть, что Drupal правильно собирает и вызывает функцию jQuery Document.ready.

Вот подсказки моего node-custom.tpl.php с использованием примеров из документации jQuery.Как

    <?php 
        jquery_ui_add('ui.tabs');
        jquery_ui_add('ui.draggable');
        jquery_ui_add('ui.accordion');
      ?>

      <script>
      Drupal.behaviors.nodeCourse = function(context) {
        alert("before");
        $( "#tabs" ).tabs();
        $( "#accordion" ).accordion();
        $( "#drag-me" ).draggable();
        alert("after");
      };
      </script>
<div id="tabs">
    <ul>
        <li><a href="#fragment-1"><span>One</span></a></li>
        <li><a href="#fragment-2"><span>Two</span></a></li>
        <li><a href="#fragment-3"><span>Three</span></a></li>
    </ul>
    <div id="fragment-1">
        <p>First tab is active by default:</p>
        <pre><code>$('#example').tabs();
Lorem ipsum dolor sit amet, посвященный адептированию elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Lorem ipsum dolor sit amet, посвященный адептированию elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Lorem ipsum dolor sit amet, посвященный адептированию elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Lorem ipsum dolor sit amet, посвященный адептированию elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Lorem ipsum dolor sit amet, посвященный адептированию elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Раздел 1

Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam.Integer ut neque.Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc.Nam Nibh.Donec Suscipit Eros.Нам ми.Проин Виверра Лео Ут Одио.Curabitur malesuada.Vestibulum a Velit eu ante scelerisque vulputate.

Раздел 2

Sed non urna.Donec et ante.Phasellus eu ligula.Вестибюль сидеть амет пуруш.Vivamus Hendrerit, Dolor на Aliquet Laoreet, Mauris Turpis Porttitor Velit, Faucibus Interdum Tellus Libero AC Justo.Вивамус не квам.При поджелудочной железе.

Раздел 3

Nam enim risus, molestie et, porta ac, aliquam ac, risus.Quisque lobortis.Phasellus pellentesque purus в массе.Эней в Педе.Phasellus ac libero ac tellus pellentesque semper.Sed Ac Felis.Sed Commodo, Magna Quis Lacinia Ornare, Quam Ante Aliquam Nisi, ЕС Iaculis Leo Purus Venenatis Dui.

  • Элемент списка один
  • Элемент списка два
  • Элемент списка три

Раздел 4

Cras dictum.Пеллетентный обитатель Morbi Tristique Senectus et netus и malesuada славится ac turpis egestas.Vestibulum ante ipsum primis у faucibus orci luctus et ultrices posuere cubilia Curae;Aenean Lacinia Mauris Velst.

Suspendisse eu nisl.Нуллам ут Либеро.Целое число достойных следов лектуса.Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

& nbsp;

Вот выдержка из заголовков HTML из отображаемой страницы:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <title>Test | demo</title> 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="shortcut icon" href="/drupal6/themes/tenfifteen/favicon.ico" type="image/x-icon" /> 
  <link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/cck/theme/content-module.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/date/date.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/date/date_popup/themes/datepicker.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/date/date_popup/themes/jquery.timeentry.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/filefield/filefield.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/node/node.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/system/defaults.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/system/system.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/system/system-menus.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/user/user.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/cck/modules/fieldgroup/fieldgroup.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/modules/views/css/views.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/framework/reset.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/framework/text.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/framework/960.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/framework/debug.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/messages.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/block-editing.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/styles.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/css/structure.css?3" /> 
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/css/typography.css?3" /> 
<!--[if IE]>
<link type="text/css" rel="stylesheet" media="all" href="/drupal6/themes/tenfifteen/ie.css?3" />
<![endif]--> 
  <script type="text/javascript" src="/drupal6/misc/jquery.js?3"></script> 
<script type="text/javascript" src="/drupal6/misc/drupal.js?3"></script> 
<script type="text/javascript" src="/drupal6/modules/google_analytics/googleanalytics.js?3"></script> 
<script type="text/javascript" src="/drupal6/modules/jquery_ui/jquery.ui/ui/minified/ui.core.min.js?3"></script> 
<script type="text/javascript" src="/drupal6/modules/jquery_ui/jquery.ui/ui/minified/ui.tabs.min.js?3"></script> 
<script type="text/javascript" src="/drupal6/modules/jquery_ui/jquery.ui/ui/minified/ui.draggable.min.js?3"></script> 
<script type="text/javascript" src="/drupal6/modules/jquery_ui/jquery.ui/ui/minified/ui.accordion.min.js?3"></script> 
<script type="text/javascript"> 
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/drupal6/", "googleanalytics": { "trackOutgoing": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadExtensions": "7z|aac|arc|arj|asf|asx|avi|bin|csv|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip" } });
//--><!]]>
</script> 
</head> 

1 Ответ

2 голосов
/ 18 ноября 2010

После долгих размышлений причина этой проблемы была из-за того, что CSS-код jQuery UI не был включен в отображаемый HTML-файл.

Я понял это, заметив, что единственным работающим виджетом jQuery был DatePicker, потому что я установил модуль Date, который включал его собственный CSS.Другие виджеты для Аккордеонов, Ползунков и Диалогов также не работали.

Дупальный модуль пользовательского интерфейса jQuery не добавляет CSS jQuery.Я проверил это, добавив следующее:

  $jquery_ui_css_path =  drupal_get_path('module', 'jquery_ui') . '/jquery.ui/themes/default/ui.all.css';  
  watchdog('MyMsg', 'Path to jquery ui css: ' . $jquery_ui_css_path);  // debug
  drupal_add_css( $jquery_ui_css_path ); 

Спасибо за следующую запись в блоге от Houen за указание на вызов функции drupal_add_css.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...