Мой вариант в template.php вне phptemplate_preprocess_page заработал и при включенной агрегации всех CSS в один файл, надо только потом принудительно очистить кэш, так как только в этом случае снова пересобирается единый css файл. Иначе старый будет подгружаться, в котором нет того что мы в теме добавили.
Вот в этой теме http://drupal.org/node/465738
на которую qwaker указал патч содержит код который как раз похож на то о чем я говорил в первых постах,
там в патче сначала собираются все пункты которые должны стать menutrails, а потом прописывает им этот класс.
так как в обычном nice_menu-6.x-1.3 этого нету.
но, я что хотел сказать, в функции nice_menu_build, чтобы создать ссылку вызывается стандартная theme_menu_item от друпала, а она в свою очередь зовет l(), код функции l():
а вот какой код будет внутри функции, это уже другой вопрос, может у вас внешние ссылки хранятся, т.е. все исключительно на другие сайты, а не локальные.
1) убедитесь через firebug или другим способом, что у нужной ссылки стоит class active, как я уже сказал, nice_menu дергает нужную функцию и он там должен быть класс
2) найти в вашей теме css и проглядеть все стили для .active
я вот к примеру для гарланд нашел такой кусочек:
ul.primary-links li a:hover, ul.primary-links li a.active {
color: #fff;
background: transparent url(images/bg-navigation-item-hover.png) no-repeat 50% 0;
}
Что касается класса active, добавляется он функцией theme_menu_item_link
которая стандартная для drupal, так как она вызывается из nice_menu_build, чтобы создать ссылку. Точнее она вызывает внутри известную функцию l(), которая внутри как раз тоже анализирует _GET('q') и прописывает тот самый active, если ссылка в _GET('q') текущая страница. Посмотрите function l(
в coomin.inc и станет понятно откуда берется .active у ссылок. Но только надо отметить, что он у ссылки, а в nice_menu класс выставляется для ul элемента. Но если дописать какой нить jquery-css типа:
В последнем абзаце поторопился, имена файлов есть, не там свой лог вывод у себя вставил и сделал неправильный вывод из этого. У меня проверяется 59 файлов, тратится на это порядка 127 мс, при повторном вызове кэширования результатов выполнения функции file_exists не заметил
Вот как раз хочется узнать сколько при текущих установленных модулях без всякого кэширования грузится drupal.
!!!ВАЖНО!!!
Xочу отметить, не знаю от чего, но такая длительная загрузка, возможно, у меня в логе первом сообщении связана с тем, что тестовая система windows + xampp и у меня что-то глюкануло в этой связке. Вчера в связи с этим я нашел некое упоминание, что это может быть от отсутствия записи localhost в hosts, но это не помогло и потом я удалил hosts за неимением эффекта, чтобы вернуть в исходное.
file_exists в drupal_get_filename как раз съел ту потерявшуюся секунду.
Если посмотреть код в drupal, который вызывает drupal_get_filename, то мало где проверяют потом, что функция возвращает. К примеру, можно взять метод drupal_install_system, там вызывают, но толку от того, что внутри функции drupal_get_filename проверяется существование файла никакого, так как все равно через require_once подключают не существующий файл.
то ссылки site/taxonomy/term/Яблоко,Белый могут не работать так как их перехватывает кривая view,
отключил эту view сразу заработали подобные url и функция та по разбору строки вызывается теперь
Забыл упоминуть, иерархический словарь я использовал еще потому что, я по нему меню автоматом создавал, так как прописывать связь термина белый, красный с каждым яблоком или персиком было совсем тяжко, а в иерархии просто указывал что у белого и красного несколько родителей. и у меня все родители сразу обрастали этими свойствами
я такое делал для себя в виде своего модуля только у меня Белый и Зеленый были в том же словаре и иерархически связаны, и получалось как раз то, что вы хотели.
Модуль для 5-ки пришлось писать свой (на основе taxonomy_menu) так как таксономия из коробки похоже не умеет выводить пересечения терминов, во всяком случае иерархически связанных. С чем это связано не знаю так как если дергать api функции самой таксономии, как в D5 и D6 то функции умеют выводить пересечение терминов, даже иерархических.
Не совсем понятно про какую сетку идет речь?
Я знаю только ту которую выводит модуль catalog в составе ubercart по ссылке /catalog. Причем имеется ввиду сетка типов товаров или уже когда конкретный тип товара выбран, т.е. когда выводится список?
Появляется не там скорей всего из-за того, что когда расчитаются координаты x, y элемента, не учитывается, что элемент может находится в контейнере с переопределенными координатами, свойство position:relative, многие скрипты этим грешат. Соответственно координаты расчитываются не относительно верхнего левого угла страницы, а относительно верхнего левого угла контейнера с таким свойством где расположен расчитываемый элемент.
Возможно я не в свой огород лезу, я так понимаю нужно место где можно собрать все данные связанные с узлом, обработать их и выдать как заголовок страницы. Я думаю, что можно было бы использовать стандартные возможности функции _phptemplate_variables($hook, $vars) в template.php:
Немного не понял где порядок выставляли, я не дам себе соврать, порядок пунктов меню выставлял установкой весов терминов в словаре. Соответственно перестраивалось каждый раз все как надо, правда насчет видимости не видимости пунктов меню ничего сказать не могу.
Кэш желательно прикручивать сразу файловый типа fspath, не зачем почем зря каждый раз базу тыркать, учитывая что база на хостинге тоже как правило для многих пользователей и по ней тоже смотрят загрузку, да и находится она совсем на другой машине.
Немного не понял где порядок выставляли, я не дам себе соврать, порядок пунктов меню выставлял установкой весов терминов в словаре. Соответственно перестраивалось каждый раз все как надо, правда насчет видимости не видимости пунктов меню ничего сказать не могу.
Смена CSS в page.tpl.php
Мой вариант в template.php вне phptemplate_preprocess_page заработал и при включенной агрегации всех CSS в один файл, надо только потом принудительно очистить кэш, так как только в этом случае снова пересобирается единый css файл. Иначе старый будет подгружаться, в котором нет того что мы в теме добавили.
Смена CSS в page.tpl.php
Мучаюсь точно с тем же вопросом.
Пробовал как посоветовал xxandeadxx
но этот вариант совсем не срабатывает.
срабатывает только если я просто в не функций выполняю в template.php
drupal_add_css(path_to_theme() .'/uc_product.css', 'theme');
!!!!Важно!!!!
С отключенной агрегацией CSS стилей в один css файл в настройках производительности.
Стоит включить тоже не работает.
Вот сейчас думаю куда бы запихнуть эту строку так, чтобы она при включенной агргации CSS тоже работала, не модуль же писать свой для этого.
активный пункт меню, как? [решено]
Вот в этой теме
http://drupal.org/node/465738
на которую qwaker указал патч содержит код который как раз похож на то о чем я говорил в первых постах,
там в патче сначала собираются все пункты которые должны стать menutrails, а потом прописывает им этот класс.
так как в обычном nice_menu-6.x-1.3 этого нету.
но, я что хотел сказать, в функции nice_menu_build, чтобы создать ссылку вызывается стандартная theme_menu_item от друпала, а она в свою очередь зовет l(), код функции l():
Вывод в поле link разрешения изображения
В описании модуля link есть пара ссылок, вот эту читать
http://drupal.org/node/62466 (Theming Individual CCK Fields)
а вот какой код будет внутри функции, это уже другой вопрос, может у вас внешние ссылки хранятся, т.е. все исключительно на другие сайты, а не локальные.
Обновление модуля Filefield 6.x-3.2 to 6.x-3.3
В filefield.install между версиями 6.2 и 6.3 не было добавлено новых методов вида update_N
соответственно ничего и не обновлялось в базе
активный пункт меню, как? [решено]
1) убедитесь через firebug или другим способом, что у нужной ссылки стоит class active, как я уже сказал, nice_menu дергает нужную функцию и он там должен быть класс
2) найти в вашей теме css и проглядеть все стили для .active
я вот к примеру для гарланд нашел такой кусочек:
ul.primary-links li a:hover, ul.primary-links li a.active {
color: #fff;
background: transparent url(images/bg-navigation-item-hover.png) no-repeat 50% 0;
}
активный пункт меню, как? [решено]
Что касается класса active, добавляется он функцией theme_menu_item_link
которая стандартная для drupal, так как она вызывается из nice_menu_build, чтобы создать ссылку. Точнее она вызывает внутри известную функцию l(), которая внутри как раз тоже анализирует _GET('q') и прописывает тот самый active, если ссылка в _GET('q') текущая страница. Посмотрите function l(
в coomin.inc и станет понятно откуда берется .active у ссылок. Но только надо отметить, что он у ссылки, а в nice_menu класс выставляется для ul элемента. Но если дописать какой нить jquery-css типа:
активный пункт меню, как? [решено]
Если все таки не работает, то вот безумная мысль:
Все это до выделенного жирным текста можно в общем то не читать
bootstrap_full
http://stackoverflow.com/questions/1708768/file-exists-is-too-slow-in-ph...
а file_exists во многих модулях используется в drupal
bootstrap_full
Php наверное не кэширует между запусками скриптов, а в рамках одного может быть
bootstrap_full
В последнем абзаце поторопился, имена файлов есть, не там свой лог вывод у себя вставил и сделал неправильный вывод из этого. У меня проверяется 59 файлов, тратится на это порядка 127 мс, при повторном вызове кэширования результатов выполнения функции file_exists не заметил
bootstrap_full
Я с вами полностью согласен, связка windows + сайт, вообще вредна :D.
Есть у меня мысля что память у меня тогда мог прикущать firefox, у меня у него апетиты не мерянные, но не все же 3 гига
bootstrap_full
Вот как раз хочется узнать сколько при текущих установленных модулях без всякого кэширования грузится drupal.
!!!ВАЖНО!!!
Xочу отметить, не знаю от чего, но такая длительная загрузка, возможно, у меня в логе первом сообщении связана с тем, что тестовая система windows + xampp и у меня что-то глюкануло в этой связке. Вчера в связи с этим я нашел некое упоминание, что это может быть от отсутствия записи localhost в hosts, но это не помогло и потом я удалил hosts за неимением эффекта, чтобы вернуть в исходное.
bootstrap_full
file_exists в drupal_get_filename как раз съел ту потерявшуюся секунду.
Если посмотреть код в drupal, который вызывает drupal_get_filename, то мало где проверяют потом, что функция возвращает. К примеру, можно взять метод drupal_install_system, там вызывают, но толку от того, что внутри функции drupal_get_filename проверяется существование файла никакого, так как все равно через require_once подключают не существующий файл.
Иерархическое меню из двух словарей
Отвечу сам себе теперь вместо той view можно вызыват так
$output = $view->execute_display($display_id, array(implode(",", $tids)));
ларчек просто открывался, подглядле в исходниках модуля
http://drupal.org/project/tvi
Иерархическое меню из двух словарей
Эх, вот здесь http://drupal.org/node/564652 указано, что если у вас кривая view для taxonomy_term
то ссылки site/taxonomy/term/Яблоко,Белый могут не работать так как их перехватывает кривая view,
отключил эту view сразу заработали подобные url и функция та по разбору строки вызывается теперь
Иерархическое меню из двух словарей
Забыл упоминуть, иерархический словарь я использовал еще потому что, я по нему меню автоматом создавал, так как прописывать связь термина белый, красный с каждым яблоком или персиком было совсем тяжко, а в иерархии просто указывал что у белого и красного несколько родителей. и у меня все родители сразу обрастали этими свойствами
Иерархическое меню из двух словарей
я такое делал для себя в виде своего модуля только у меня Белый и Зеленый были в том же словаре и иерархически связаны, и получалось как раз то, что вы хотели.
Модуль для 5-ки пришлось писать свой (на основе taxonomy_menu) так как таксономия из коробки похоже не умеет выводить пересечения терминов, во всяком случае иерархически связанных. С чем это связано не знаю так как если дергать api функции самой таксономии, как в D5 и D6 то функции умеют выводить пересечение терминов, даже иерархических.
Ubercart сетка товаров
Не совсем понятно про какую сетку идет речь?
Я знаю только ту которую выводит модуль catalog в составе ubercart по ссылке /catalog. Причем имеется ввиду сетка типов товаров или уже когда конкретный тип товара выбран, т.е. когда выводится список?
И там похоже только theme функции помогут.
Корявая работа Java в Drupal
Появляется не там скорей всего из-за того, что когда расчитаются координаты x, y элемента, не учитывается, что элемент может находится в контейнере с переопределенными координатами, свойство position:relative, многие скрипты этим грешат. Соответственно координаты расчитываются не относительно верхнего левого угла страницы, а относительно верхнего левого угла контейнера с таким свойством где расположен расчитываемый элемент.
Автогенерация заголовка
Возможно я не в свой огород лезу, я так понимаю нужно место где можно собрать все данные связанные с узлом, обработать их и выдать как заголовок страницы. Я думаю, что можно было бы использовать стандартные возможности функции _phptemplate_variables($hook, $vars) в template.php:
Перенос терминов таксономии в меню
Тормоза, как бороться?
Кэш желательно прикручивать сразу файловый типа fspath, не зачем почем зря каждый раз базу тыркать, учитывая что база на хостинге тоже как правило для многих пользователей и по ней тоже смотрят загрузку, да и находится она совсем на другой машине.
Перенос терминов таксономии в меню
Немного не понял где порядок выставляли, я не дам себе соврать, порядок пунктов меню выставлял установкой весов терминов в словаре. Соответственно перестраивалось каждый раз все как надо, правда насчет видимости не видимости пунктов меню ничего сказать не могу.