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

Как можно программно создать форму для изменения значений ССК поля ноды

11 ноября 2010 в 21:37

Иногда может потребоваться изменять значения какого-то CCK поля ноды не обновляя всю ноду.
Выкладываю заготовку для решения такой задачи (по мотивам тестового задания restyler).
В нижеприведенном коде создаются пути типа 'test-form/%node', на страницах с этими адресами выводится форма для заполнения одного CCK поля (сейчас захардкоденного, но легко меняется на выбираемое из админки или даже несколько полей) и кнопка сабмита для отправки формы. После отправки поле соответственного нода будет обновлено, в том числе работает с полями множественного выбора. Например, если зайти на страницу 'test-form/4' и есть такой нод и у него есть поле 'field_test', то после сабмита формы на этой странице у нода 4 в поле field_test будут обновленные значения.
Валидацию не делал, надо доделывать, если будете использовать где-то.
<?php

/**
* Implementation of hook_menu().
*/
function test_module_menu() {
$items = array();
$items['test-form/%node'] = array(
'page callback' => 'drupal_get_form',
'page arguments' => array('test_form', 1),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}

function test_form(&$form_state, $node) {
$form['#node'] = $node;
$field_name = 'field_test';
$field = content_fields($field_name, $node->type);
$form['#field_info'][$field_name] = $field;
module_load_include('inc', 'content', 'includes/content.node_form');
$form_element = content_field_form($form, $form_state, $field);
$form += (array)$form_element;
$form['submit'] = array(

Галерея с помощью модуля Gallery Assist, также установка и обзор видов Lightboxes для модуля

11 ноября 2010 в 12:30

Галерея с помощью модуля Gallery Assist

В данной статье я расскажу подробно как установить и настроить модули

Gallery Assist   Version 6.x-1.17

Gallery Assist Lightboxes  Version 6.x-1.4

Image FUpload (Gallery Assist)  Version 6.x-1.x-dev

 

Также в этой статье вы найдете сравнительную характеристику и настройки других видов Lightboxes для данной галереи.

Система на которую ставил:

drupal 6.19

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

Сразу можете закачать вот такие модули.

Gallery Assist   Version 6.x-1.17

Gallery Assist Lightboxes  Version 6.x-1.4

Image FUpload (Gallery Assist)  Version 6.x-1.x-dev

Image FUpload

Оптимизация 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';