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

Можно ли написать на Drupal ...1С???

13 декабря 2007 в 19:33

Как вы думаете:
Возможно ли написать на Drupal аналог 1С?
Например онлайн-сервис для ведения бухучета или сборку для индивидуального пользования.

Модуль Search Block - блокировка поиска определенных материалов и нод

10 декабря 2007 в 20:43

Модуль Search Block - блокировка поиска определенных материалов и нод.
http://drupal.org/project/search_block
А если поставить патч:
http://drupal.org/node/184025#comment-654552
то блокированные материалы не отображаются в расширенном поиске.

Метод решения проблем

9 декабря 2007 в 23:14

Возникла проблема: не запускался крон.
Выскакивало сообщение "Попытка перезапуска выполнения."

Смотрю в журнале "Недавние записи" - там расшифровка:
"Попытка перезапуска выполнения регулярных процедур (cron) в то время, как они уже выполняются."

Ищу соответствующую строчку на английском языке в модуле locale в разделе "Управлять строками":
"Attempting to re-run cron while it is already running."

Ищу по этой строчке в google "Russian Drupal" http://www.google.com/coop/cse?cx=002994722680358481348:lmfkwit908u&hl=ru

и получаю ответ:
http://drupal.org/node/160652

Надо удалить переменную cron_semaphore.

Если не работает поиск и cron

9 декабря 2007 в 20:43

Не мог приндексировать сайт.
Статус индексации: 0% сайта проиндексировано.

Вручную пытался запустить крон:
http://сайт.ру/cron.php
http://сайт.ру/admin/logs/status/run-cron
крон работал, но индексация не проводилась.

Решение:
Перегрузился в администратора (первого пользователя) и крон заработал, индексация провелась.

CCK Field Permissions - модуль контроля доступа к полям CCK

29 ноября 2007 в 22:54

CCK Field Permissions
Модуль контроля доступа к полям CCK.
Например можно создать поле "проверено" - и дать права на это поле только модераторам.
Или показывать поле ссылки только зарегистрированным пользователям.

Хостинг Amazon

26 ноября 2007 в 21:33

Наткнулся случайно:
Amazon продает серверные мощности в виде сервиса
Хранение 1 ГБ данных стоит всего 15 центов в месяц, а 1 ГБ трафика — 20 центов.
Amazon продает серверные мощности в виде сервиса
Платформа Amazon S3: подарок для стартапа

Модуль views_viewtype_my - 10 своих видов во views

26 ноября 2007 в 19:52

views_viewtype_my v0.01

Добавляет 10 дополнительных видов к модулю views
Отображение видов необходимо определить в template.php

Переопределите функцию
function theme_views_viewtype_my_display($view, $nodes, $type, $teasers = FALSE, $links = TRUE)
как Вам нужно в вашем template.php

PS за основу взят хороший модуль views_tabs

Разные фильтры для разных типов данных

26 ноября 2007 в 19:13

Вывожу разные типы данных одним views, тип данных передаю как аргумент.
Возникла необходимость для разных типов данных выводить разное количество фильтров.
Решение:
Сначала создаю все нужные фильтры,
а потом в зависимости от аргументов в Argument Handling Code удаляю лишние фильтры:
<?php
if($args[1] != 'product'){
unset($view->filter[3]);
unset($view->exposed_filter[1]);
}
?>
PS: скобочки <?php ?> - не нужны

Поисковики и Pager

24 ноября 2007 в 8:46

При разбиении списка материалов на страницы, после добавления новых материалов, информация постоянно сдвигается и по старой ссылке ее уже не найти.
То есть:
Сначала нода XXX была по адресу http://drupal.ru/news?page=2
Добавили новую ноду и XXX сдвинулась: http://drupal.ru/news?page=3
Думаю для поисковиков это не есть гут.

Возможно переделать модуль pager для того чтобы номера ссылок на страницы нумеровались в обратном порядке:
http://drupal.ru/news?page= 0, 10,9,8,7,6,5,4,3,2,1

Но в этом случае все равно ноды будут скакать по страницам:

Вывод ноды несколькими видами (кроме page и teaser)

21 ноября 2007 в 17:20

Возникла необходимость выводить ноды несколькими видами (четырьмя) (двух видов: page и teaser не хватило).
Решение:
Можно передать в шаблон node.tpl.php переменную $page с нужным параметром отображения и в зависимости от значения $page выводить различный вид ноды.
Код:
<?php
//$page = false;
$page = 'my_node_view_1';
$teaser = false;
$links = true;
node_view($node, $teaser , $page , $links);
?>
В шаблоне: node.tpl.php

<?php if($page==0){
?>...........................
<?php
}
elseif($page!=1 && $page=='my_node_view_1'){
?>...........................
<?php
}
else{
?>...........................
<?php
}
?>

Потом я дописал модуль который добавляет 10 своих видов во views http://www.drupal.ru/node/9636 .

Снижение нагрузки сайта

20 ноября 2007 в 9:56

Заметил, что основная информация ноды хранится в таблице node, а тизер в другой таблице node_revision.
А большинство материалов на сайте выводятся как тайтл+тизер.
Может написать патч или модуль чтобы тизер хранился вместе с тайтлом в таблице node - это уменьшит нагрузку на базу.
Как думаете, стоит с этим заморачиваться?

Модуль Transliterate filenames - транслитерация имен файлов

15 ноября 2007 в 12:15

Модуль Transliterate filenames - транслитерация имен файлов.
На сайте неоднократно поднимался этот вопрос, а я случайно натолкнулся на модуль - может кому пригодится.

Водяные знаки: imagecache+watermark

18 октября 2007 в 15:10

Патч для imagecache - наложение водяных знаков + подложение подложки Smile
http://drupal.org/node/184816

Дополнительные возможности (по сравнению с imagecache):
1. Использование временного дополнительного слоя (подложки).
2. Выбор размера и цвета фона.
3. Наложение картинок с прозрачностью.
4. Создание "Водяных знаков" (watermark) при использовании файлов *.png
(файл маски должен находиться в www.site.com/files/watermark.png)
5. Текстовые водяные знаки (текст поверх картинки)
6. Произвольный php-код (например можно написать на картинке заголовок ноды)

UPD:

Как програмно вывести блок?

5 сентября 2007 в 22:19

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

Ограничение пользователей на количество нод

28 августа 2007 в 18:36

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

Pay-per-node
Jose A Reyero - December 10, 2006 - 19:07

This module allows creation of a number of nodes of chosen type for some users. It temporarily overrides the node creation permissions and keeps track of the number of nodes the user can create.

Import данных

22 августа 2007 в 13:40

Здравствуйте.
Переношу данные со старого сайта в drupal.
Заполнил все ноды с помощью модуля NodeImport.
Но возникли проблемы при заполнении поля imagefild (CKK).
оказывается имена файлов прописаны в нескольких местах:
таблица files: поля filename и flepath и индексные поля fid и vid,
и таблица content_type_имятипаданных поля: field_products_image_title field_products_image_alt и индексные поле field_products_image_fid.
И еще нужно увеличить счетчик файлов: таблицы sequences (http://www.drupal.ru/node/6125)

Вложенные Views

16 августа 2007 в 23:34

Надо было сделать такое:
Есть 2 словаря:
-Рубрики (Авто, техника, компьютеры...)
-районы города(Железнодорожный, Ленинский...)
И 2 типа Нод:
-Товары (привязаны к рубрике)
-Фирмы (привязаны к району)
Товары с помощью Node Refrence привязываются к одной из фирм

Как сделать выборку товаров из определенной рубрики и района
то есть:
аргумент (термин таксономии) -> нода -> (NodeRefrence) -> нода <- аргумент (термин таксономии)

Обновление модулей

20 июня 2007 в 23:40

Очень долго искал как обновлять версии модулей, нашел:
http://www.ibm.com/developerworks/ru/library/i-osource9/index.html
Может кому пригодится

Чтобы обновить версию модуля:
Сначала создайте резервную копию базы данных перед попыткой обновления ее схемы, и убедитесь, что эта резервная копия является корректной и полной. Затем войдите в систему как администратор (пользователь с uid == 1) и перейдите по адресу http://your.drupal.site/update.php