Настройка CMS Drupal

BBCode в BUEditor (5.0)

Автор: B.X - 30.07/2007, пн - 02:19

Мало кто пользуется, наверное, BBCod'ом, но так как я использую его на своём сайте, то решил выложить, может кому-нибудь понадобится. Почему я его использую? Ну, наверное сила привычки, да и удобен он. Не надо теги вспоминать, как они там пишутся со скобками и кавычками. BBCode универсален, используется на многих форумах, прост в использовании и хорошо запоминается. Что ещё надо для счастья? Только то, что BUEditor такой хороший редактор, что позволяет его использовать.

Как обновлять Друпал правильно (5.0)

Автор: B.X - 28.07/2007, сб - 12:52

1) Переведите сайт в оффлайн.
2) Сделайте бэкап (также бэкап папки files и папки дополнительных модулей).
3) Отключите все дополнительные модули.
4) Сохраните файл sites/default/settings.php
5) Удалите все файлы от предыдущей версии и замените их файлами новой.
6) Вставьте старый файл sites/default/settings.php вместо нового...
7) Верните папку files на место и папки дополнительных модулей тоже...
8) Запустите скрипт ваш_сайт/update.php
9) Подключайте дополнительные модули и запускайте опять скрипт ваш_сайт/update.php

Локализация через статический файл (5.0)

Автор: jason32 - 28.07/2007, сб - 12:23

Итак, проснулся я в хорошем настроении и решил наконец-то облегчить жизнь тем людям, которых раздражает кол-во запросов к базе у Друпала 5 при переводе. Для Друпал 4.7 я уже такое делал, пришла очередь пятого. Итак, без патча к сожалению не обошлось, можно и не надеяться.
файл includes/common.inc

Изменение в заголовке страницы (5.0, 4.7)

Автор: B.X - 25.02/2007, вс - 19:35

В /themes/engines/phptemplate/phptemplate.engine на строке 187:
Меняем:

  1. <?php
  2.   // Construct page title
  3.   if (drupal_get_title()) {
  4.     $head_title = array(strip_tags(drupal_get_title()), variable_get('site_name', 'Drupal'));
  5.   }
  6.   else {
  7.     $head_title = array(variable_get('site_name', 'Drupal'));
  8.     if (variable_get('site_slogan', '')) {
  9.       $head_title[] = variable_get('site_slogan', '');
  10.     }
  11.   }
  12. ?>

На:

  1. <?php
  2.   // Construct page title
  3.   if (drupal_get_title()) {
  4.     $head_title = array(strip_tags(drupal_get_title()), variable_get('Drupal', ''));
  5.   }
  6.   else {
  7.     $head_title = array(variable_get('site_slogan', 'Drupal'));
  8.     if (variable_get('site_slogan', '')) {
  9.       $head_title[] = variable_get('', '');
  10.     }
  11.   }
  12. ?>

И потом в заголовке вашего page.tpl.php на строке 4:
Вместо:

  1. <title><?php print $head_title ?></title>

Ставим:

  1. <title>Имя вашего сайта | <?php print $head_title ?></title>

Отключение или замена drupal.css (4.7)

Автор: B.X - 06.01/2007, сб - 09:57

чтобы убрать добавьте в файл template.php вашей темы добавить следующие строки:

  1. <?php
  2. /*
  3.  Do not include drupal's default style sheet in this theme !
  4. */
  5. function phptemplate_stylesheet_import($stylesheet, $media = 'all') {
  6.  if (strpos($stylesheet, 'misc/drupal.css') == 0) {
  7.   return theme_stylesheet_import($stylesheet, $media);
  8.  }
  9. }
  10. ?>

чтобы заменить на другой (например, для того, чтобы затруднить опознание вашей CMS) в файл template.php вашей темы добавить следующие строки:

  1. <?php
  2. function phptemplate_stylesheet_import($stylesheet, $media = 'all') {
  3.  if (strpos($stylesheet, 'misc/drupal.css') != 0) {
  4.   $stylesheet = str_replace('misc/drupal.css', 'misc/mysite.css', $stylesheet);
  5.  }
  6.  if (strpos($stylesheet, 'misc/drupal.css') == 0) {
  7.   return theme_stylesheet_import($stylesheet, $media);
  8.  }
  9. }
  10. ?>

информация взята отсюда...

Адрес сайта без www (все версии)

Автор: B.X - 13.12/2006, ср - 12:46

Чтобы сайт был без www в .htaccess прописываем эти строки. Сайт показывается без www, даже если его набрали в адресной строке, все запросы переправляются на основной домен...

  1. RewriteEngine on
  2. RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
  3. RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Добавлено:

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

  1. RewriteEngine on
  2. RewriteCond %{http_host} ([^.]+)\.site.ru [nc]
  3. RewriteRule ^(.*)$ http://site.ru/$1 [r=301,L]