5+ сайтов не катит... Нужно добавить поле в CCK (например, URL источника для новости) — придется добавлять в 5+ сайтов это поле. Обнаружилось, что время жизни кэша надо меньше ставить - опять по 5+ сайтам лазить. Решил поставить модули какой-нибудь (статистика, например) - опять везде его настраивать отдельно.
ЗЫ: Надеюсь в 6.х будет проще решать такие задачки..
nodeaccess только для друпы 4.7 , taxonomy_access недоделан для 5.2 вызывает ошибки доступа к табле доступов, при удалении оставляет мусор. после удаления мусора, все в норме.
nodeaccess и для 5.х есть. С taxonomy_access пока багов не замечал, хотя работал немного я с ним пока.
На 3 сайтах опять же надо настраивать меню, темы, блоки, юзеров и роли, прочие настойки типа настроек кэша, журнала, модули включать/настраивать.
А если на основном сайте были настроены типы в CCK, шаблоны для них, то придется и их переносить. Гемора еще больше.
Я вообще сначала и сделал домен и отдельный сайт на одной инсталляции друпала, но потом меня обрадовали, что еще будет языков 5+ и меня напрягла мысль держать 7+ сайтов и каждый настраивать)
Ядро трогать не надо, модуль трогать не надо. Править template.php в теме... Добавить функцию phptemplate_menu_item_link взял за основу код theme_menu_item_link...
Не выйдет это... Модулем я просто правлю текущую позицию в меню. А breadcrumb уже сам друпал генерит на основе текущей позиции в меню... и заголовки берутся из меню.
Если сильно захотеть, то можно подменить заголовки в теме, написав функцию phptemplate_menu_item_link. Стандартная реализация темизации ссылки в меню:
Если uieforum.module не подгружать, то и uieforum форум работать не будет.. Т.е. надо задавать правила - на каких страницах какие модули грузятся, на каких не грузятся, нужно разбираться во всех модулях и их адресах... Чем больше сайт и больше модулей - тем сложнее эти правила поддерживать будет.
Проще раз модуль нормально написать с нормальными include-ами... А в идеале всё-таки пхп-оптимизатор)
Нельзя) И вообще это нелогично. В breadcrumb-е должны быть те же названия, по которым юзер кликал в меню имхо. И вообще не факт, что пункты меню совпадают с иерархией терминов. Например, статьи с термином "животные=>собаки" могут быть в разделе "статьи=>флора и фауна=>домашние животные".
Да и еще один минус - как я понял правила нельзя реактировать.
Ну так в базе уже прописан список активных модулей и при загрузке страницы он выбирается. Просто добавить в эту таблицу поле, где поставить галочки нужно ли подгружать этот файл каждый раз (по наличию в нем хуков, инитов и других функций для вызова при каждой загрузке) или нет. Правда для этого придется парсить весь код модуля и смотреть что там есть а чего нет, но это ведь только 1 раз при установке, а зато какой прирост в производительности!
1) сделал разное оформление для разных номеров газеты,
2) сделал английскую версию сайта - просто понаделал кучу page на английском языке с адресами /en/xxx, структурировал их в отдельном меню, сделал "англоязычный" дизайн, с помощью этого модуля сделал, чтобы этот дизайн выводился для всех страниц /en/xxx. Еще настроил для англоязычной темы блоки (английское меню показал, остальные спрятал). Ну и еще модуль мини-хак: если текущая страница вида /en/xxx — то $locale='en'.
www.drupal.org/project/taxonomy_access - настройки просмотра, редактирования, создания, удаления нод в зависимости от категорий. Настраивать не просто - столько галочек.... Особенно, если еще и nodeaccess стоит уже.
<?php
function theme_comment_form($form) {
return "My comments!" . drupal_render($form);
}
?>
В любое место это можно положить - в любой модуль или лучше в тему в файлик template.php. Если потом хочется через веб-интерфейс редактировать текст, то можно такой return написать:
Как всё запущено) Это собственно главная страница по умолчанию... То бишь то, что отображается на главной странице. По умолчанию, оно равно node. Страница node объявлена в модуле node.module и она выводит последние N публикаций с галочкой promoted.
Там можно указать адрес ноды какой-нибудь (node/N) или адрес созданной views или созданой панели модулем panels и т.д.
Страницы node/NID, где NID — реальный идентификатор, обрабатываются функцией node_page_view. А страница /node (она же - главная по умолчанию), функцией node_page_default. Поэтому когда вводим node/NID с неверным NID — вызывается последняя функция. Смотрим код это функции...
ААААА бред какой-то!!... Не понимаю как так может быть) Что за тема?? По умолчанию цвет черный у заголовков. Если он не черный - значит в теме поменяли.
1) В теме несколько может быть css-ок.
2) Если тема garland или minnelli, то там цветовая гамма настраивается в настройках темы /admin/build/themes и css-ки вообще-то генерируются и кладутся в /fles/color. Их там править смысла нет. Но они вроде цвет обычных заголовков не меняют, только если это ссылка.
Я использую свой модуль: http://drupal.org/project/node_breadcrumb для настройки breadcrumb. Но там автоматически breadcrumb не строится, а задаются правила: какие ноды к каким пунктам меню должны относиться. Соответственно breadcrumb-ы получаются типа:
главный раздел меню => подраздел меню => подподраздел
Соответственно, кроме breadcrumb и положение в меню отображается у ноды корректно (т.е. меню развернуто в нужном месте).
мультиязычный сайт
5+ сайтов не катит... Нужно добавить поле в CCK (например, URL источника для новости) — придется добавлять в 5+ сайтов это поле. Обнаружилось, что время жизни кэша надо меньше ставить - опять по 5+ сайтам лазить. Решил поставить модули какой-нибудь (статистика, например) - опять везде его настраивать отдельно.
ЗЫ: Надеюсь в 6.х будет проще решать такие задачки..
Дублирование категории в Breadcrumbs
http://api.drupal.org/, http://php.ru/doc/....
Кто знает модуль управления видимостью
nodeaccess только для друпы 4.7 , taxonomy_access недоделан для 5.2 вызывает ошибки доступа к табле доступов, при удалении оставляет мусор. после удаления мусора, все в норме.
nodeaccess и для 5.х есть. С taxonomy_access пока багов не замечал, хотя работал немного я с ним пока.
мультиязычный сайт
На 3 сайтах опять же надо настраивать меню, темы, блоки, юзеров и роли, прочие настойки типа настроек кэша, журнала, модули включать/настраивать.
А если на основном сайте были настроены типы в CCK, шаблоны для них, то придется и их переносить. Гемора еще больше.
Я вообще сначала и сделал домен и отдельный сайт на одной инсталляции друпала, но потом меня обрадовали, что еще будет языков 5+ и меня напрягла мысль держать 7+ сайтов и каждый настраивать)
редирект 404 не работает, если неверный адрес идет после /node/
Обновитесь просто до 5.2.
мультиязычный сайт
Но если сайт делается с нуля и есть время поразбираться с i18n, то думаю лучше его и юзать)
Дублирование категории в Breadcrumbs
Ядро трогать не надо, модуль трогать не надо. Править template.php в теме... Добавить функцию phptemplate_menu_item_link взял за основу код theme_menu_item_link...
мультиязычный сайт
Ниасилил что тут первое, а что второе) Первое - мультиязычность, а второе - каталог?
По правильному видимо надо использовать модуль i18n...
Дублирование категории в Breadcrumbs
Не выйдет это... Модулем я просто правлю текущую позицию в меню. А breadcrumb уже сам друпал генерит на основе текущей позиции в меню... и заголовки берутся из меню.
Если сильно захотеть, то можно подменить заголовки в теме, написав функцию phptemplate_menu_item_link. Стандартная реализация темизации ссылки в меню:
А разве Drupal при каждой загрузке страницы инклюдит главные файлы всех активных модулей?
Если uieforum.module не подгружать, то и uieforum форум работать не будет.. Т.е. надо задавать правила - на каких страницах какие модули грузятся, на каких не грузятся, нужно разбираться во всех модулях и их адресах... Чем больше сайт и больше модулей - тем сложнее эти правила поддерживать будет.
Проще раз модуль нормально написать с нормальными include-ами... А в идеале всё-таки пхп-оптимизатор)
Дублирование категории в Breadcrumbs
Можно ли выводить название раздела?
Нельзя) И вообще это нелогично. В breadcrumb-е должны быть те же названия, по которым юзер кликал в меню имхо. И вообще не факт, что пункты меню совпадают с иерархией терминов. Например, статьи с термином "животные=>собаки" могут быть в разделе "статьи=>флора и фауна=>домашние животные".
Да и еще один минус - как я понял правила нельзя реактировать.
Лень делать) Да и лишний код - лишние тормоза.
А разве Drupal при каждой загрузке страницы инклюдит главные файлы всех активных модулей?
ведь многие модули не использует никаких хуков и блоков, а работу друпала тормозят.
Ниасилил... Что за модули без хуков???
Поэтому имхо более правильный путь - оптимизация самой CMS, а не прикручивание всяких оптимизаторов.
По мере роста функциональности и, соответственно, кода, архитектура PHP даёт о себе знать... Имхо без предкомпиляции оптимизаторами тут не обойтись.
лишний код из своих модулей вынес в inc-файлы
Дробить файл из 20 кб на 10 по 2 кб - только в убыток может оказаться. То бишь перебарщивать не надо.
А разве Drupal при каждой загрузке страницы инклюдит главные файлы всех активных модулей?
Ну так в базе уже прописан список активных модулей и при загрузке страницы он выбирается. Просто добавить в эту таблицу поле, где поставить галочки нужно ли подгружать этот файл каждый раз (по наличию в нем хуков, инитов и других функций для вызова при каждой загрузке) или нет. Правда для этого придется парсить весь код модуля и смотреть что там есть а чего нет, но это ведь только 1 раз при установке, а зато какой прирост в производительности!
Смена шаблона на лету
taxonomy_theme мне на этой неделе 2 раза помог:
1) сделал разное оформление для разных номеров газеты,
2) сделал английскую версию сайта - просто понаделал кучу page на английском языке с адресами /en/xxx, структурировал их в отдельном меню, сделал "англоязычный" дизайн, с помощью этого модуля сделал, чтобы этот дизайн выводился для всех страниц /en/xxx. Еще настроил для англоязычной темы блоки (английское меню показал, остальные спрятал). Ну и еще модуль мини-хак: если текущая страница вида /en/xxx — то $locale='en'.
Как пользователю разрешить только часть пунктов из таксономии.
www.drupal.org/project/taxonomy_access - настройки просмотра, редактирования, создания, удаления нод в зависимости от категорий. Настраивать не просто - столько галочек.... Особенно, если еще и nodeaccess стоит уже.
Работа форума и сайта.
Я использую http://drupal.ru/user/USERNAME/track, чтобы смотреть какие темы обновились, в которых я отписывался.
Правила добавления комментариев в форме комментариев
<?php
function theme_comment_form($form) {
return "My comments!" . drupal_render($form);
}
?>
В любое место это можно положить - в любой модуль или лучше в тему в файлик template.php. Если потом хочется через веб-интерфейс редактировать текст, то можно такой return написать:
<?php
return t("comments_form_rules") . drupal_render($form);
?>
И писать текст в перевод строки comments_form_rules.
Таксономия - В этой категории нет материалов.
С помощью модуля locale просто измените этот текст на другой, более подробный. См. /admin/settings/locale/string/search
цвет текста title
У меня всё реагирает... отключайте кэширование в друпал на время разработки.
А разве Drupal при каждой загрузке страницы инклюдит главные файлы всех активных модулей?
Это скорее проблема ПХП, чем Друпал... Вот бы интересно было бы погонять что нить типа JDrupal (на яве)
цвет текста title
тема siberia, просмотрел все (две) css-ки.
Не знаю чем Вы смотрите.... css/gray.css:
div#middlecontainer .title,
div#middlecontainer h2 {
color: #104A91;
}
объясните назначение одной функции в админке!
Как всё запущено) Это собственно главная страница по умолчанию... То бишь то, что отображается на главной странице. По умолчанию, оно равно node. Страница node объявлена в модуле node.module и она выводит последние N публикаций с галочкой promoted.
Там можно указать адрес ноды какой-нибудь (node/N) или адрес созданной views или созданой панели модулем panels и т.д.
Я всегда меняю эту опцию.
редирект 404 не работает, если неверный адрес идет после /node/
Версия Drupal какая??
Страницы node/NID, где NID — реальный идентификатор, обрабатываются функцией node_page_view. А страница /node (она же - главная по умолчанию), функцией node_page_default. Поэтому когда вводим node/NID с неверным NID — вызывается последняя функция. Смотрим код это функции...
Вот кусок node.module из Drupal 5.0:
<?php
function node_page_default() {
$result = pager_query(db_rewrite_sql('SELECT n.nid......'), variable_get('default_nodes_main', 10));
..................
?>
А вот из 5.2:
<?php
цвет текста title
ААААА бред какой-то!!... Не понимаю как так может быть) Что за тема?? По умолчанию цвет черный у заголовков. Если он не черный - значит в теме поменяли.
1) В теме несколько может быть css-ок.
2) Если тема garland или minnelli, то там цветовая гамма настраивается в настройках темы /admin/build/themes и css-ки вообще-то генерируются и кладутся в /fles/color. Их там править смысла нет. Но они вроде цвет обычных заголовков не меняют, только если это ссылка.
Дублирование категории в Breadcrumbs
Я использую свой модуль: http://drupal.org/project/node_breadcrumb для настройки breadcrumb. Но там автоматически breadcrumb не строится, а задаются правила: какие ноды к каким пунктам меню должны относиться. Соответственно breadcrumb-ы получаются типа:
главный раздел меню => подраздел меню => подподраздел
Соответственно, кроме breadcrumb и положение в меню отображается у ноды корректно (т.е. меню развернуто в нужном месте).