Предлагаю решение

Оптимизация Drupal (кеширование и все остальное)

11 ноября 2010 в 10:47

Всем добрый день.

Нашел на одном сайте очень хорошую лекцию по оптимизации Друпал 6. Сделал все как там написано, мой сайт стал просто летать.
В лекцию входят:
Встроенная оптимизация Drupal
Оптимизация Drupal с помощью модулей
Оптимизация конфигурации и обслуживания Drupal
Оптимизация сервера

Некоторые сведения неточны, (например, пути в модуле authcache), но разобраться довольно легко.

[РЕШЕНО] Как вывести свой регион (блок) в node.tpl

8 ноября 2010 в 14:10

Создана страница Views. Имеет параметр Exposed form in block:Да. Тоесть фильтр выводится в блок, но регион в node.tpl почему то не выводится. Подскажите пожалуйста: Как вывести регион в node.tpl или как во Views вывести этот фильтр. Так как, views_embed_view('Computer', 'page_1') - выводит содержимое а не фильтр.

Заранее благодарен за ответы

Механизм шаблонов позволяет так же располагать регионы не только в пределах основного шаблона (page.tpl.php), но и в пределах более мелких шаблонов - типа node, page, comment, blog и т.п.

[Решено]Проблемы при установки Shadowbox для модуля Gallery Assist Lightboxes

7 ноября 2010 в 14:39

Суть проблемы:

После того как я обновил модули Gallery Assist, Gallery Assist Lightboxes возникла проблема правильной работы shadowbox.
Обновление jquery не помогло, посмотрел исходный код, увидел что не происходит подгрузка файла shadowbox.js, только была подгрузка файла gallery_assist.shadowbox.selector.js

Решение:

Открываем файл /sites/all/modules/gallery_assist_lightboxes-6.x-1.4/gallery_assist_lightboxes/gallery_assist_lightboxes_display.inc
Находим в строке в строке 312 следующую строчки.

} elseif ($conf['lightbox'] == 1 && $conf['lightbox_deriv'] == 'shadowbox') {
  gallery_assist_get_includes($hilfo);  
  drupal_add_js(drupal_get_path('module', 'gallery_assist_lightboxes')  .'/js/gallery_assist.shadowbox.selector.js');
}

прежде чем писать на форум

7 ноября 2010 в 14:31

перед написанием на форум о проблеме сделай следующее:
- вычисти кеш друпа
- вычисти кеш браузера с кукисами
- пни крон
- перестрой права доступа admin/content/node-settings/rebuild
- обнови страницу

Вырубило электричество, работал на локальной машине... сайту каюк

7 ноября 2010 в 2:08

В общем после КЗ сайт перестал работать.
Ноды не доступны, куча ошибок...
После долгих часов испытаний с БД, понял что накрылась таблица menu_router
Лечил: установил в другую базу новый друпал.
В старой базе смотрим System, и видим какие модули у нас были включены. Включаем на новом сайте.
Потом удаляем из первой базы menu_router и вставляем из второй.
может кому пригодится...

Как прикрутить шрифт на сайт при помощи CSS

7 ноября 2010 в 1:45

Иногда возникает необходимость использования на сайте нестандартных шрифтов. В данной статье будет рассказано о простом способе «прикрутить» шрифт на ваш сайт средствами CSS. Рассказывать буду на примере Franklin Gothic Medium Cond.
Решение подходит для: Opera, Firefox и IE.

Итак, приступим.

Проверка доступа ролей к материалу

5 ноября 2010 в 19:59

Иногда надо проверить доступ ролей пользователя к материалу
накидал вьюшку, пользуйтесь

$view = new view;
$view->name = 'check_permissions';
$view->description = '';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 3.0-alpha1;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: По умолчанию */
$handler = $view->new_display('default', 'По умолчанию', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['exposed_form']['type'] = 'input_required';
$handler->display->display_options['exposed_form']['options']['submit_button'] = 'Применить';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Сбросить';
$handler->display->display_options['exposed_form']['options']['text_input_required_format'] = '1';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['expose']['items_per_page_label'] = 'Пунктов на страницу';
$handler->display->display_options['pager']['options']['expose']['offset_label'] = 'Пропустить';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* Поле: Пользователь: Роли */
$handler->display->display_options['fields']['rid']['id'] = 'rid';
$handler->display->display_options['fields']['rid']['table'] = 'users_roles';

jQuery 1.4.3 и Drupal

5 ноября 2010 в 18:52

Как известно, если нельзя, но если очень хочется, то можно.

для друпала 6.19 получается примерно так как в архиве
теперь можно старый файл jquery.js заменить на новый

файлы подготовлены с помощью http://drupal.org/node/479368 и http://drupal.org/node/893538
специально для тех, кто слаб в английском и не очень хорошо умеет применять эти патчи, как например я

прошу потестировать

Раздельное двухуровневое меню (модификация)

5 ноября 2010 в 18:50

Здравствуйте, уважаемые пользователи Drupal! Совсем недавно имею дело с Drupal, но всё больше и больше нравится мне работать с этой штукой, познавая ее гибкость. Сейчас хочу вспомнить один сниппет, которым многие пользуются. Речь идет о раздельном меню с использованием primary/secondary links. Я решил воспользоваться этим сниппетом для реализации меню на сайте. Но в проекте дизайна для каждого пункта меню планировался разный CSS и разный скрипт, который выполнялся при клике. Посему я решил немножко изменить код сниппета, чтоб получить нумерацию пунктов вида:

<li class="punkt1">
<li class="active2">
<li class="punkt3">
<li class="punkt4">

Для этого в template.php вставляем немного измененный код вместо предложенного по ссылке описанной выше:

<?php

function phptemplate_links($links$attributes = array()) {

  if (!

count($links)) {
    return 
'';
  }
  
$new 0;//add counter for menuitems
  
  
$level_tmp explode('-'key($links));
  
$level $level_tmp[0];
  
$output "<ul class=\"links-$level ".$attributes['class']. "\">\n";
  foreach (
$links as $index => $link) {
    
$output .= '<li';
    
$new++;//add 1 to counter
    
if (stristr($index'active')) {
      
$output .= ' class="active'.$new.'"';
    }
// frontpage AND current-link in menu is <front>
    
elseif((drupal_is_front_page()) && ($link['href']=='<front>')){?>