drupal 7

Растягиваем основное меню на ширину контента

вт, 02.04.2013 13:10 :: olk

Иногда необходимо «растянуть» основное горизонтальное меню сайта на всю ширину основного контента. Предлагаю решение при помощи небольшого javascript-а. 1. Для начала нам надо немного преобразовать вывод меню, для того что бы в дальнейшем можно было его легче обработать скриптом (нам необходимо ввести дополнительный признак «глубины» пункта меню, что бы обработать только самый верхний уровень меню. Для этого в своей теме в файле template.php создаем (или переопределяем) функцию ВАША_ТЕМА_menu_link__main_menu(array $variables) У меня получилась функция со следующим содержанием

Подключение своих шаблонов для страниц 403 и 404

вт, 24.04.2012 17:33 :: olk

Есть несколько способов создать свои «красивые» страницы для ошибок 403 и 404. Я расскажу как я это делал через переопределение шаблона. 1. В каталоге текущей темы создаем шаблон (файл) для вывода страницы с ошибкой Я его назвал page--error.tpl.php

Содержимое файла самое простое:

  1. <?php
  2. /**
  3.  * @file
  4.  * $error_code - Error num (403 or 404)
  5.  * $error_content - HTML error content
  6.  */
  7. ?>
  8. <div class="page clearfix" id="page-<?php print $error_code;?>">
  9. <div class="content-page-<?php print $error_code;?>">
  10. <h2>
  11. <?php print l($site_name, '<front>', array('attributes' => array('title' => t('Home')), 'html' => TRUE)); ?>
  12. </h2>
  13. <h1><?php print $error_code;?></h1>
  14. <?php print render($error_content); ?>
  15. </div>
  16. </div>

Переход сайта на Drupal 7 и редизайн

пн, 09.04.2012 12:25 :: olk

Наконец перевел свой сайт на Drupal 7, заодно немного почистил и сделал редизайн. В настоящее время тема выполнена как субтема на основе Omega Предстоит еще маленько поработать над функционалом и версткой. Убраны некоторые не актуальные материалы. Если кто-то, что-то потерял интересного, то старый сайт будет некоторое время доступен на домене http://itdiy.ru

Изменяем размер аватар в нодах и комментариях

ср, 04.04.2012 13:57 :: olk

Иногда бывает необходимо что бы при выводе материалов и комментариев размер (а возможно и вид) автарки отличался от размеров заданных в профиле пользователя. Одно из решений — использовать модуль image с его пресетами. Добавляем (или редактируем если он уже есть) файл theme-settings.php в каталоге вашей темы.

Если данный файл есть и в нем есть функция  function Ваша_тема_form_system_theme_settings_alter(&$form, $form_state) , то нижеприведенный код добавляем в данную функцию, иначе добавляем саму функцию.

Собираем статистику по материалам

вт, 03.04.2012 10:31 :: olk

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

  1. $result = db_query("select count(n.nid) as cnt_node, count(c.cid) as cnt_comment,t.name from {node} n inner join {node_type} t on t.type=n.type and n.status=1 left join {comment} c on c.nid=n.nid and c.status=1 group by t.name");
  2. $items = array();
  3. foreach($result as $record) {
  4.   $items[] = 'Материалов типа: (' .$record->name .') : '.$record->cnt_node. ' , Комментариев :' . $record->cnt_comment;
  5. }
  6. if(count($items)) {
  7.   print theme('item_list',array('items'=>$items,'title'=>'Статистика'));
  8. }

Модуль cczoom как альтернатива cloud zoom

вт, 21.02.2012 12:04 :: olk
Работая над вялотекущим проектом под Drupal 7, понадобилось мне показывать масштабируемые превьюхи. Поиск дал несколько результатов, но под D7 был выбран, более менее приемлемый модуль Cloud zoom, основанный на одноименном jQuery плагине jQuery Cloud zoom.
Но к сожалению автор модуля , использовал возможности jQuery плагина лишь на 10%, а точнее через данный модуль практически невозможно настроить плагин, а там, тем не менее достаточно много такого, с чем можно «поиграться»(приведу спецификацию параметров без перевода, кому надо надеюсь сами переведут).

Модуль ссtags под Друпал 7

ср, 11.01.2012 11:38 :: olk

На днях перевел свой модуль cctags с шестой версии на седьмую. Сctags – это альтернатива широко известного модуля tagedelic. Т.е. модуль формирует блок и/или страницу облака тэгов таксономии с атрибутом (классом) зависящим от частоты употребления данного термина в опубликованных нодах. В чем преимущество данного модуля перед tagedelic.

Tagedelic – формирует ровно столько блоков (и страниц) сколько определено словарей в вашей системе причем не позволяет смешивать словари, т.е. один словарь – одно облако.

Подписка на drupal 7