Вверх

Блог
RSS лента

CMS Drupal (полезности и секреты)

Привет, друзья!

Думаю, что я начал работу над полезным разделом, который касается специфики создания и управления сайтами, разработанными на функционале с открытым кодом Drupal. На собственном опыте знаю, как порой трудно найти ответ на вопрос или решить раз за разом возникающую проблему.

Поиски по сети, приставание к знакомым программистам, вычитывание инструкций занимают невероятное количество времени, что знакомо мне не понаслышке. Развязка может лежать фактически на поверхности! Буквально одно слово, изменение командной строки, переписывание кода и – вот оно решение мучавшей проблемы!

Я смогу помочь каждому из заинтересованных в мощном функционале определить проблемные моменты, связанные, к примеру, с установкой Drupal.

Для того, чтобы ваш сайт сохранял конкурентоспособность, потребуется настройка drupal. Пройденное и прощупанное все своими пальцами позволит мне дать действительно работающие советы. Если возникнут конкретные вопросы, пишите в комментах. Это поможет нам обсудить непонятные моменты, найти выход, а заодно не повторяться, так как поиски струнок доступа к серьезной платформе от умных людей у многих очень схожи.

Движком для сайта Друпал многие сайтовладельцы искренне восхищаются, называя его быстрым, гибким, удобным и сложным. Я активно использую его для создания многих видов сайтов, набил не одну шишку, поэтому уверен, что овладение такой системой стоит потраченного времени.

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

В общем, народ, делюсь, делюсь и делюсь:

  • - своими секретами настройки модулей drupal,
  • - соображениями по возникающим ошибкам и способам их устранения,
  • - опытом,
  • - интересными наработками.

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

: Function split() is deprecated in /modules/filter/filter.module on line 888. (Решение есть)

Продолжу тему ошибок с друпалом после перехода на php 5.3.x
На этот раз ошибка вот такая:
: Function split() is deprecated in /modules/filter/filter.module on line 888.
Поправить это можно всего лишь перейдя на 888 строку файла с именем filter.module
Там будет такая строка:
list($tag) = split('[ >]', substr($chunk, 2 - $open), 2);

И нужно её заменить на:
list($tag) = preg_split('[ >]', substr($chunk, 2 - $open), 2);

Можно не заменять всю строку, просто замените функцию split() на preg_split().

warning: Parameter... comment_user(), pathauto_user(), block_user(), blog_user(), dblog_user(), locale_user(), node_user() и др.

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

Ошибка:
warning: Parameter 3 to comment_user() expected to be a reference, value given in .../includes/module.inc on line 450.

Решение:
Открываем файл:
/modules/comment/comment.module
ищем:
function comment_user($type, $edit, &$user, $category = NULL) {
Меняем на:
function comment_user($type, $edit, $user, $category = NULL) {

Ошибка:
warning: Parameter 2 to pathauto_user() expected to be a reference, value given in .../includes/module.inc on line 450.

Решение:
Открываем файл:
/modules/pathauto/pathauto.module
ищем:
function pathauto_user($op, &$edit, &$user, $category = FALSE) {
Меняем на:

warning: Parameter 2 to taxonomy_treemenu_menu_link_alter() expected to be a reference, value given in /includes/common.inc....

Знакомая ошибка?
warning: Parameter 2 to taxonomy_treemenu_menu_link_alter() expected to be a reference, value given in /includes/common.inc on line 2680.
Нашли как вылечить? Если нет, то вот вам решение.

Вам нужно найти файлик по адресу:
/modules/taxonomy_treemenu/taxonomy_treemenu.module
Путь к файлу может отличатся, Например модуль может находится здесь .../sites/all/modules/

Открыть его, а за тем найти строку:
function taxonomy_treemenu_menu_link_alter(&$item, &$menu) {
У меня этот код находится на 785-ой строке
И нужно заменить эту строку на:
function taxonomy_treemenu_menu_link_alter($item, $menu) {
Или просто поубирать уже лишние амперсанды (&). Лишние с приходом ПхП 5.3.х

Function ereg() is deprecated in /includes/file.inc on line 893

Недавно перенесли сайты на новый сервак, а там PHP 5.3.x
Ну и посыпались ошибки. На блоге это было заметно.
Ругалось на Function ereg() is deprecated in /includes/file.inc on line 893
Как я уже писал в разделе для джумлы, пхп 5.3 не поддерживает эту функцию уже.
Починить можно просто открыв файл /includes/file.inc ит перейти в строку 893, там вы увидите что то типа:
elseif ($depth >= $min_depth && ereg($mask, $file)) {

Нужно заменить на:

elseif ($depth >= $min_depth && mb_ereg($mask, $file)) {

То есть заменить устаревшую функцию ereg() на mb_ereg() и варнинги пропадут.

Как отключить регистрацию пользователей?

Например у вас на сайте несколько человек или один который занимается наполнением или управлением, а лишние пользователи вам не к чему, тем более после регистрации ничего нового для пользователя не откроется, а боты то лезут везде :(

Так вот отключить регистрацию можно следующим способом:
Заходим в админку, далее Управление сайтом » Пользователи » О регистрации и здесь нужно поставить галочку возле "Только администраторы могут создавать новые учетные записи пользователей.", то есть включить эту функцию.

Nodewords (Meta tags)

Модуль Meta tags позволяет устанавливать мета тэги для каждой страницы ноды, view и панели.

Дополнительное указание важных ключевых слов и описания, как известно, позволяет получить лучших позиции в поисковиках (конечно, ключевые слова при этом обязаны присутствовать и в самом тексте).

Модуль также известен под другими именами: nodewords или node(key)words.

Последние версии идут с включением дополнительных модулей Meta Tags Node Type и Meta tags by path.

Meta Tags Node Type позволяет указывать метатеги в зависимости от её типа.
- Поддерживает мета тэг "robots"
- Поддерживает мета тэг "keywords"
- Поддерживает мета тэг "description"
- Использует функционал модуля Token (замены)
- Продвинутые замены с использованием PHP для мета тэга "description"

Meta tags by path - Позволяет определять правила для мета тэгов исходя из адреса страницы.

Можно скачать с drupal.org: http://drupal.org/project/nodewords

Как сделать вывод похожих материалов

Модуль вывода похожих материалов

Например вам нужно что бы под каждым материалом выводились похожие статьи.
Реализовать можно с помощью модуля similarterms.
русификацию скачать можно тут http://drupaler.ru/translate/languages/ru/export
Устанавливаете, потом заходите в блоки и ставите вывод в том месте где бы вы хотели что бы оно отображалось. В моем случае это "содержание".
Саму надпись "Похожий" можно заменить таким способом, заходим в перевод интерфейс, дальше поиск, вводим "Похожий", потом изменить, ну и пишите то что вам нужно.
Так же еще есть модуль Relevant_Content, но его я еще не юзал, мне вполне подошло выше описаный.

Как сделать что бы статья помещалась на главной?

Все елементарно :)

При создании материала под формочкой ввода основного текста есть ярлычок «Настройки публикации». Кликаем на неё и ставим галочку возле пункта «Помещать на главную».

Если вы хотите что бы определенный материал, например «запись в блоге», страница, новость и т.д., помещался на главной то заходим в «› Управление › Содержание», выбираем необходимы тип материала, нажимаем «изменить», внизу ищем ярлычок «Процесс» и ставим галочку возле «Помещать на главную».
Вроде всё.

Делаем и выводим новости на отдельную страницу и блок

Первый шаг. Создание нового типа материала.
— Главная › Управление › Содержание › Типы материалов › Добавить тип содержимого
— admin/content/types/add

Имя:Новость
Тип:news
Дальше по желанию:
Описание: Новости сайта ....
Процесс:
Настройки по умолчанию:
+ Опубликовано
+ Помещать на главную
... »Сохранить тип содержимого

Второй шаг. Настройка Синонимов.
— Главная › Управление › Конструкция сайта › Синонимы › Настройки автоматических синонимов
— admin/build/path/pathauto

› Настройки адреса материала

Как убрать "Опубликовано..."?

"Опубликовано" отключается в настройках тем оформления (/admin/build/themes/settings) для заданных вами типов материалов.
В общем нужно поуберать галочки где вы не хотите что бы отображалось опубликовано. Вот и все.

Главная | Портфолио | Услуги | Контакты | Блог