edhel: Комментарии

Главные вкладки

30 августа 2007 в 18:32

5+ сайтов не катит... Нужно добавить поле в CCK (например, URL источника для новости) — придется добавлять в 5+ сайтов это поле. Обнаружилось, что время жизни кэша надо меньше ставить - опять по 5+ сайтам лазить. Решил поставить модули какой-нибудь (статистика, например) - опять везде его настраивать отдельно.

ЗЫ: Надеюсь в 6.х будет проще решать такие задачки..

30 августа 2007 в 18:29

nodeaccess только для друпы 4.7 , taxonomy_access недоделан для 5.2 вызывает ошибки доступа к табле доступов, при удалении оставляет мусор. после удаления мусора, все в норме.

nodeaccess и для 5.х есть. С taxonomy_access пока багов не замечал, хотя работал немного я с ним пока.

30 августа 2007 в 17:11

На 3 сайтах опять же надо настраивать меню, темы, блоки, юзеров и роли, прочие настойки типа настроек кэша, журнала, модули включать/настраивать.

А если на основном сайте были настроены типы в CCK, шаблоны для них, то придется и их переносить. Гемора еще больше.

Я вообще сначала и сделал домен и отдельный сайт на одной инсталляции друпала, но потом меня обрадовали, что еще будет языков 5+ и меня напрягла мысль держать 7+ сайтов и каждый настраивать)

30 августа 2007 в 15:48

Не выйдет это... Модулем я просто правлю текущую позицию в меню. А breadcrumb уже сам друпал генерит на основе текущей позиции в меню... и заголовки берутся из меню.

Если сильно захотеть, то можно подменить заголовки в теме, написав функцию phptemplate_menu_item_link. Стандартная реализация темизации ссылки в меню:

30 августа 2007 в 14:37

Если uieforum.module не подгружать, то и uieforum форум работать не будет.. Т.е. надо задавать правила - на каких страницах какие модули грузятся, на каких не грузятся, нужно разбираться во всех модулях и их адресах... Чем больше сайт и больше модулей - тем сложнее эти правила поддерживать будет.

Проще раз модуль нормально написать с нормальными include-ами... А в идеале всё-таки пхп-оптимизатор)

30 августа 2007 в 12:16

Можно ли выводить название раздела?

Нельзя) И вообще это нелогично. В breadcrumb-е должны быть те же названия, по которым юзер кликал в меню имхо. И вообще не факт, что пункты меню совпадают с иерархией терминов. Например, статьи с термином "животные=>собаки" могут быть в разделе "статьи=>флора и фауна=>домашние животные".

Да и еще один минус - как я понял правила нельзя реактировать.

Лень делать) Да и лишний код - лишние тормоза.

30 августа 2007 в 8:59

ведь многие модули не использует никаких хуков и блоков, а работу друпала тормозят.

Ниасилил... Что за модули без хуков???

Поэтому имхо более правильный путь - оптимизация самой CMS, а не прикручивание всяких оптимизаторов.

По мере роста функциональности и, соответственно, кода, архитектура PHP даёт о себе знать... Имхо без предкомпиляции оптимизаторами тут не обойтись.

лишний код из своих модулей вынес в inc-файлы

Дробить файл из 20 кб на 10 по 2 кб - только в убыток может оказаться. То бишь перебарщивать не надо.

30 августа 2007 в 8:54

Ну так в базе уже прописан список активных модулей и при загрузке страницы он выбирается. Просто добавить в эту таблицу поле, где поставить галочки нужно ли подгружать этот файл каждый раз (по наличию в нем хуков, инитов и других функций для вызова при каждой загрузке) или нет. Правда для этого придется парсить весь код модуля и смотреть что там есть а чего нет, но это ведь только 1 раз при установке, а зато какой прирост в производительности!

30 августа 2007 в 5:31

taxonomy_theme мне на этой неделе 2 раза помог:

1) сделал разное оформление для разных номеров газеты,

2) сделал английскую версию сайта - просто понаделал кучу page на английском языке с адресами /en/xxx, структурировал их в отдельном меню, сделал "англоязычный" дизайн, с помощью этого модуля сделал, чтобы этот дизайн выводился для всех страниц /en/xxx. Еще настроил для англоязычной темы блоки (английское меню показал, остальные спрятал). Ну и еще модуль мини-хак: если текущая страница вида /en/xxx — то $locale='en'.

30 августа 2007 в 4:37

www.drupal.org/project/taxonomy_access - настройки просмотра, редактирования, создания, удаления нод в зависимости от категорий. Настраивать не просто - столько галочек.... Особенно, если еще и nodeaccess стоит уже.

29 августа 2007 в 22:15

<?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.

29 августа 2007 в 20:48

Как всё запущено) Это собственно главная страница по умолчанию... То бишь то, что отображается на главной странице. По умолчанию, оно равно node. Страница node объявлена в модуле node.module и она выводит последние N публикаций с галочкой promoted.

Там можно указать адрес ноды какой-нибудь (node/N) или адрес созданной views или созданой панели модулем panels и т.д.

Я всегда меняю эту опцию.

29 августа 2007 в 20:43

Версия 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

29 августа 2007 в 19:56

ААААА бред какой-то!!... Не понимаю как так может быть) Что за тема?? По умолчанию цвет черный у заголовков. Если он не черный - значит в теме поменяли.

1) В теме несколько может быть css-ок.

2) Если тема garland или minnelli, то там цветовая гамма настраивается в настройках темы /admin/build/themes и css-ки вообще-то генерируются и кладутся в /fles/color. Их там править смысла нет. Но они вроде цвет обычных заголовков не меняют, только если это ссылка.

29 августа 2007 в 19:43

Я использую свой модуль: http://drupal.org/project/node_breadcrumb для настройки breadcrumb. Но там автоматически breadcrumb не строится, а задаются правила: какие ноды к каким пунктам меню должны относиться. Соответственно breadcrumb-ы получаются типа:

главный раздел меню => подраздел меню => подподраздел

Соответственно, кроме breadcrumb и положение в меню отображается у ноды корректно (т.е. меню развернуто в нужном месте).