Блог пользователя - Dimm

Модуль flexifield - делает несколько CCK полей одним полем

23 октября 2008 в 19:52

Нашел модуль который объединяет несколько CCK полей в группу и в дальнейшем можно работать с группой полей как с одним CCK полем (добавлять, сортировать, удалять...)
http://drupal.org/project/flexifield

Передача аргументов из Panels2 в Views2

24 сентября 2008 в 21:20

Нужно вывести в панели несколько views с разными аргументами.

При вставке views в панель есть несколько способов передать аргумент:
Send arguments
(Select this to send all arguments from the panel directly to the view. If checked, the panel arguments will come after any context arguments above and precede any additional arguments passed in through the Arguments field below.)
Arguments:
(Additional arguments to send to the view as if they were part of the URL in the form of arg1/arg2/arg3. You may use %0, %1, ..., %N to grab arguments from the URL. Or use @0, @1, @2, ..., @N to use arguments passed into the panel.)
Override URL:
(If this is set, override the View URL; this can sometimes be useful to set to the panel URL)

Но ни один из них не работает.
Пришлось вставлять в панель "Custom PHP content" и выводить views программно:

$myview = views_get_view('taxonomy_type');
$arg[0]='story';//node_type
$arg[1]='1'; //term_id
$block->content= $myview->execute_display('page_1',$arg);

Скажите может всетаки возможно передать аргументы из Panel2 во Views2 стандартными средствами?

Как вывести с помощью views разное количество полей и строк таблицы

4 сентября 2008 в 21:25

Нужно было в зависимости от страницы вывести с помощью views разное количество полей и строк таблицы. (Программное изменение Field во Views с помощью Argument Handling Code )

Решение:
1. Формируем нужный views со всеми нужными полями в пользовательском интерфейсе.
2. В template.php добавляем функцию которая выведет содержимое $view
<?php
function имятемы_view_table($view, $nodes, $type) {
print "

";
  print_r ($view);
  print "

";
$fields = _views_get_fields();

foreach ($nodes as $node) {
$row = array();
foreach ($view->field as $field) {
if ($fields[$field['id']]['visible'] !== FALSE) {
$cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);
$cell['class'] = "view-field ". views_css_safe('view-field-'. $field['queryname']);
$row[] = $cell;
}
}
$rows[] = $row;
}
return theme('table', $view->table_header, $rows) . "!!!";
}
?>
3. Открываем вьюес и ищем массив field
4. Из полей массива field формируем код и вставляем его в Argument Handling Code в нужные условия
У меня получилось такое (ставит вывод таблицей, выводит картинку и тайтл, убирает пэйджер и выводит 999 строк):
<?php
if($args[1] == 'firm' || $args[1] == 'producer'){
if($type=='page'){
$view->page_type = 'table';
$use_pager= FALSE;
$limit = '999';
$view->field = array();
$view->field[0] = array(
'vid' => '36',
'tablename' => 'node_data_field_firm_logo',

Backup and Migrate - супер модуль для автоматического бэкапа базы сайта

20 июня 2008 в 23:03

Backup and Migrate - супер модуль для автоматического бакупа базы сайта.
http://drupal.org/project/backup_migrate
Позволяет делать бакупы базы через указанные промежутки времени.
Позволяет исключать из архива лишние таблицы и данные.
Позволяет воссанавливать базу из архива.

Еще очень хотелось бы:
1. Добавлять в бакуп файлы из определенных папок.
2. Отправлять архив на почту администратору.
Как это можно рализовать?

Привязка данных к местоположению в google map

9 июня 2008 в 23:12

Привязка данных к местоположению в google map
Результат здесь:
http://krasmebel.ru/taxonomy/term/17
http://krasmebel.ru/node/2764

1. Устанавливаем GMap 5.x-1.x-dev

2. Устанавливаем Location 5.x-1.x-dev

3. Включаем модули GMap, GMap Location, GMap Views Integration, Location, Location Views

4. Настраиваем текущее местоположение в настройках GMap, GMap Location и Location.

5. В нужном типе данных включаем использование Locative information и настраиваем.

6. В ноде пробуем поставить маркер.

7. Создаем вьюес для отображения этого маркера при просмотре ноды address_gmap:
Для того чтоб работало управление видами маркеров надо сделать страничный тип.
Provide Block – галка
View Type: GmapView
Nodes per Block: 99
Fields: Node: Title + Location: Latitude + Location: Longitude
Arguments: Node: ID
Фильтры: Node: Distinct + Node: Published

8. Для отображения этого вьюеса при просмотре ноды я создал Computed field address_gmap_comp которое должно всегда отображаться:
Computed Code:
$node_field[0]['value']=1;
Display Format:

  $view_name='address_gmap';
  $current_view='';
  $current_view->args[0]=$node->nid;
  $view = '';
  $view = views_get_view($view_name);
$display = (views_build_view('block', $view, $current_view->args, false, $view->nodes_per_block));

Data Type: int
Data Length: 1
Default Value: 1

9. Убираем вывод слова из ноды
В template.php переопределяем функцию

function mytheme_locations($locations = array(), $hide = array()) {
  return; // Hide the Location(s) section.
}

Чтобы сделать выборку нод, на которые ссылается другая выборка нод надо...

7 июня 2008 в 0:37

Например термин таксономии ---> ноды фирмы --node_reference--> ноды адреса фирм.
Нужно вывести список адресов (B) для всех фирм Angel текущего термина таксономии.

Чтобы сделать выборку нод (B), на которые ссылается другая выборка нод Angel надо:
1. Сделать views A
2. Установить модуль http://drupal.org/project/ReferencedByFilter + патч http://drupal.org/node/267655
3. Добавить в аргументы "Node Reference: Views on node reference" и выбрать в списке нужное поле node_reference
4. В "Argument Handling Code" c помощью views A сформировать строку $arg[0]="nid1+nid2+nid3+nid4"

$current_view->args[0]=11;
$current_view->args[1]='firm';
$view1 = views_get_view('taxonomy_node');                      

Модули для создания поддоменов

14 мая 2008 в 13:33

Нашел 2 супер-модуля для создания поддоменов сайта
http://drupal.org/project/subdomain
http://drupal.org/project/domain

Возможны поддомены для пользователей:
http://mary.example.com
http://kate.example.com
http://jeff.example.com

Drupal vs Bitrix

29 апреля 2008 в 9:40

Хочу сделать большой проект вроде сайта объявлений с рассчетной посещаемстью 5000 в сутки.
С Drupal разобрался сделал уже что-то похожее.

Теперь обратил внимание на Bitrix 6.5 и возник вопрос : Может сделать на Битрикс?

1. Битрикс вроде позволяет сделать все тоже, что и друпал с модулями:
- создавать свои типы данных,
- веб-формы
- разграничивать права доступа
- теги таксономии
- мультиязычность
- форум нормальный
- подписка
2. Вроде как в битриксе это все уже отлажено, русифицированно и собрано вместе

Патч: загрузка множества картинок за раз в поле imagefield

25 апреля 2008 в 12:49

Сделал патч: загрузка множества картинок за раз в поле imagefield.
Выбираете архив zip или tar.gz с картинками и нажимаете "Отправить".
http://drupal.org/node/251096

Модуль link_transformer - показ количества нод в любой ссылке на термин таксономии

9 апреля 2008 в 23:04

Модуль link_transformer - показ количества нод в любой ссылке на термин таксономии
Посмотреть в действии можно здесь: www.KrasMEBEL.ru - все про мебель в Красноярске.

Для работы модуля надо пропатчить common.inc.
Патч common.inc-link_transformer.module.patch - прилагается.

Как работает модуль: заменяет стандартную функцию l() и в зависимости от пути ссылки меняет любые параметры ссылки.

Еще возможные применения:

Любой ссылке теперь можно добавить иконку:
Например оформить Админку в стиле Joomla.

Для этого надо:
1. Немного подправить код link_transformer.

Всегда прописывайте <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

26 марта 2008 в 20:42

Проблема:
Если с моего сайта на (Drupal, utf-8) пользователь IE переходил на сайт с другой кодировкой (cp1251), а потом возвращался на мой сайт, то в IE сбивалась кодировка и все уже посещенные закэшированные страницы отображались кракозябрами (в кодировке cp1251).

Голову сломал прежде чем разобрался.
Дело было вот в чем:

Всегда прописывайте:

taxonomy_hierarchy_order - модуль для сортировки терминов таксонимии как в дереве иерархии

24 марта 2008 в 23:44

taxonomy_hierarchy_order - модуль для сортировки терминов таксонимии как в дереве иерархии

Дополнительные патчи:
1. taxonomy.module-taxonomy_hierarchy_order.patch - применяет сортировку в списке терминов в ноде.
2. views_taxonomy.inc-taxonomy_hierarchy_order.patch - позволяет использовать данную сортировку во views.

Прошу потестить и внести замечания и предложения.

Патч к gotwo - редирект внешних ссылок

13 марта 2008 в 12:49

Сделал патч к gotwo - редирект любых внешних ссылок без занесения их в базу.
http://drupal.org/node/233681
Например:
www.site1.com/go/site2.com -> http://site2.com

Как насторить FastCGI

3 марта 2008 в 15:55

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

Ускорение выдачи сайта

27 февраля 2008 в 9:03

Решил ускорить выдачу сайта:
1. Включил сжатие html в настройках сервера модуль gzip_module.
2. Включил сжатие css и js этим модулем в .htaccess (настройка gzip_module http://www.lissyara.su/?id=1131)

Drupal vs Django

26 января 2008 в 16:54

Прочитал:
Интервью: новый веб-сервис "Яндекса" построен на языке Python и фреймворке Django
http://soft.compulenta.ru/346012/
Статья в вики про Django http://ru.wikipedia.org/wiki/Django

Кто сталкивался с этим Django?
Хотелось бы узнать мнения.

Использование памяти Drupal-ом

24 декабря 2007 в 18:12

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