rashaverak: Блог

Главные вкладки

Как реализовать собственный шаблон tpl.php и вызывать его с помощью функции theme()

17 августа 2010 в 13:33

Так как только что сам искал подобное решение и в общем-то не нашел его, решил выложить на всеобщее обозрение собственное решение. Может быть, кому-то пригодится.

Сразу должен сказать, что поймут, пожалуй, только программисты drupal.

Есть некий модуль kontragent.module, реализующий работу с контрагентами (показ контрагента, добавление, изменение и пр.)
Задача: реализовать показ контрагента с помощью шаблона kontragent.tpl.php. В данном случае контрагент - это не тип материала, поэтому стандартные шаблоны типа node.tpl.php не подойдут.

Реализация по следующим пунктам:

  1. Регистрация функции темизации, которая будет использовать шаблон
  2. Создание шаблона kontragent.tpl.php
  3. Определение функции для показа контрагента kontragent_page($kon), $kon - переменная с данными контрагента

1. Ниже представлен код функции, которая регистрирует функцию темизации kontragent_view

Обратите внимание на элемент массива 'template', если его не указывать, тогда темизация перестоится на вызов функции, а в модуле придется написать функцию kontragent_kontragent_view($kon)

<?php
/**
 * Регистрация функции темизации
 * @return unknown_type
 */
function kontragent_theme() {
    return array(
        
// название функции темизации
        
'kontragent_view' => array(
            
// указываем единственный аргумент с данными контрагента (укажите больше, если необходимо)
            
'arguments' => array('kontragent' => NULL), ?>

Проблема: messaging/notifications не отправляет письма

26 мая 2010 в 9:48

Нужна помощь в разрешении вопросов по отправке писем с сайта!

Друпал 6 версии.
Есть проблема: настроил notifications / messaging, но письма почему-то не высылаются.
Сам друпал письма отправляет нормально (о регистрации, из формы контактов).

Проверил, очередь сообщений создается. Пробовал отправлять. Говорит, что отправилось, но письма не доходят.
Подозреваю, что, модули какие-то параметры в письма вносят, что сервер их не отправляет.

Встречался кто-нибудь с такой проблемой?
Что может быть не так и куда ткнуться посмотреть?

Advanced Forum - Как автоматически назначить нодам адрес типа forum-topic/$nid ?

9 ноября 2009 в 14:28

Суть проблемы вот в чем: нужно темизировать страницы с сообщениями форума, но для этого необходимо вместо обычного адреса node/* сделать типа такого forum-topic/* .

Как это сделать стандартными средствами?
Я, конечно, могу написать модуль, но че-то так лень. Подскажите, а?