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

Темизация не стандартными методами

3 ноября 2010 в 20:45

Работая над небольшим проектом, столкнулся с проблемой – если какой-либо модуль не предоставляет хуков по темизации вывода своего контента, то довольно сложно темизировать представить информацию в нужном виде. Но как всегда – Друпал гибок и могуч, и эту проблему можно обойти если модуль использует (и регистрирует) свои функции темизации в общем реестре.

Опишу суть проблемы. В моем проекте использовался свой тип материала (определенный соответствующим модулем), который (тип материала) посредством этого модуля выводился в две колонки (при этом был переопределен вывод ноды, что в общем то не важно) . Но кроме этого в данном типе материала использовались несколько словарей, определяющих некоторые специфичные свойства данного типа материала. Термины данных словарей выводились в ноде в виде активных ссылок при клике на которых должны выводиться ноды с соответствующим признаком. Вся проблема заключалась в том, что вывод должен осуществляться в точно в том же виде как и основной вывод предоставляемый модулем (т.е. в нашем случае в две колонки) и при этом модуль taxonomy не предоставляет интерфейса по переопределению вывода, но при этом имеет зарегистрированную функцию темизации taxonomy_term_page.

список терминов с картинками

3 ноября 2010 в 16:25

Не знаю, может уже никому и не надо, но пусть полежит.

Задача:
Сделать страницу со списком терминов, где каждому термину будет соответствовать картинка. Используется, например, для вывода меню производителей для магазина.

Решение:
Модули: taxonomy, views2
Идём в админку и для начала включаем разрешённый тег IMG admin/settings/filters/1/configure

Набиваем наш словарь терминами
далее, кладём картинки, которые будут использоваться в качестве показа с терминами в каталог. Пускай это будет sites\default\files\producers\

Идём в редактирование нашего словаря admin/content/taxonomy/2
И начинаем править каждый термин, прописывая для него картинку

N.B. - прописываем относительный путь и учитываем регистр!

Делаем вывод
Идём делать вьюшку admin/build/views/add
Тип - термин!
Фильтр - словарь → укажите ваш словарь
Поля - "Таксономия: Описание термина" и "Таксономия: Термин"
У "Таксономия: Термин" укажите связать вывод со страницей термина

Добавляем вывод "страница" и указываем путь, куда выводить.
Сохраняем
Наслаждаемся!

Вопросы? Велкам в камменты!

Блягодарю, за потраченное время

Модуль. Автоматическое заполнение картинок в категориях Ubercart

2 ноября 2010 в 2:15

Как известно, к ссылкам на страницах стандартного каталога Ubercart можно приаттачивать изображения, которые призваны визуально намекать юзеру, что его ждёт на следующей странице категории. Картинки можно загружать вручную на страницах терминов товарного каталога Ubercart.

Но сегодня я словил себя на мысли, что при определённом количестве категорий вручную грузить по картинке для человека интеллектуального труда довольно утомительно. Что если для картинки категории использовать какую-то картинку товара, который находится в этой категории? Релевантность будет соблюдена.

Я написал простой модулёк под кодовым названием uc_cat_auto_pic который занимается тем, что добавляет чекбокс и селект выбора доступных пресетов на страницу настроек каталога (admin/store/settings/catalog/edit).

Если чекбокс отмечен, ссылки категорий, для которых не загружена картинка, заимеет картинку из вложенных в эту категорию нод (поле field_image_cache или что там у вас). Также теперь мы можем быстро изменять пресет картинок категорий, который по дефолту намертво зашит в код uc_category

Установка модуля подразумевает некое таинство. Чтобы переопределить функцию theme_uc_catalog_browse() я не нашёл ничего лучшего, как вставить в template.php такое:

<?php

function phptemplate_uc_catalog_browse($tid 0) {  
    
$catalog uc_catalog_get_page($tid);    
    if (
variable_get('uc_cat_auto_pic'FALSE) && module_exists('uc_cat_auto_pic') && !empty($catalog->children)) {
    return 
uc_cat_auto_pic_catalog_browse($tid); // Catalog Auto pictures handler
    
}     ?>

Ошибка после переноса на новый хостинг

2 ноября 2010 в 0:28

Вылезает вот такая ошибка на главной:
* warning: fopen() [function.fopen]: Filename cannot be empty in /var/www/grushinka/data/www/grushinka.ru/includes/file.inc on line 800.
* Невозможно создать файл.
* warning: fopen() [function.fopen]: Filename cannot be empty in /var/www/grushinka/data/www/grushinka.ru/includes/file.inc on line 800.
* Невозможно создать файл.

Куда копать? Перерыл пол инета.

Выпуск новых версий модулей. PGAPI beta6, pg_account beta1. Нужна помощь в написании документации.

31 октября 2010 в 21:32

Привет всем.

Для тех, кто пользуется pgapi есть хорошая новость - я таки выпустил новую версию.

В самом ядре pgapi изменений минимум - добавилась одна функция - pgapi_format_price_plain, которая выводит отформатировано сумму с символом валюты без html тегов.

Gallery Assist - Your disk quota of 0 KB was achieved [РЕШЕНО]

31 октября 2010 в 15:03

Сообщество добрый день.

Столкнулся с проблемой - устанавливаю ограничение для "Общий объем файлов для каждого пользователя:"
и при попытке добавить фотографию в новую галерею выпадает сообщение "Your disk quota of 1024 KB was achieved"
Ковыряние с настройками ничего не дали, капнул код и нашел ошибку (скорее описку, бывает).

/modules/gallery_assist/gallery_assist.module строка 1018

Новостной сайт

25 октября 2010 в 14:51

Рискну представить общественности http://uralpress.ru
Сайт имеет 170к+ нод, 40к+ фотографий.
Что сделано:
На выделенном сервере связка nginx + php 5.3.3
Настроен Cacherouter (APC) + Boost.
Поиск сделан на sphinx, но пока не темизирован вывод.
Еще не готовы фото галереи - хотелось бы их загружать аяксом там, где 200+ фоток в ноде.
Также готовится словарь тегов (1к+ тегов)(пока не придумал как из вывода sphinx по запросу проставлять эти теги в документах (что-то типа views bulk operations - в связи с этим очень хотелось бы видеть связку sphinx + views, а руками все это делать страшно)

Хотел бы услышать пару советов по СЕО - что сделать "внутри" сайта, чтобы по слову "Челябинск" быть в топе?

В общем бета версия пока поддерживает функционал старого сайта. Дальнейшее улучшение будет после полного импорта (когда будет решено, что сайт "готов" к выпуску без основных косяков / недочетов).

Был бы очень признателен сообществу за комментарии по этому сайту - что сделано плохо / неправильно на Ваш взгляд. Спасибо.

Файл i18n-ascii.txt для русской транслитерации pathauto. Кому надо - качаем!

22 октября 2010 в 0:43

Всем привет.
Как известно, чтобы транслитировать УРЛы, создаваемые модулем pathauto, нужен файлик i18n-ascii.txt. Если брать его из поставки pathauto, то там можно найти много лишнего, к тому же, не все символы адекватно интерпретированы.

Например:

Е = "Ie" (хотелось бы видеть E)
Й = "I" (хотелось бы видеть J)

На выходе получаются не совсем адекватные УРЛы, которые могут помешать продвижению сайта. Кроме того, они некрасивы.

Например:

тёща => t-shcha (буквы ё там тоже не было)
сколько => skol-ko
бессонница => biessonnitsa

Так вот, для решения всех этих проблем можно скачать файлик из вложения, а затем скопировать его в папку с модулем pathauto. Догадываюсь, что кто-то уже выкладывал подобное. Ну.. в таком случае оставляю на суд администрации.

з.ы Файл только для русского языка!
Спасибо за внимание.

[РЕШЕНО] Номера ноды в автозаполняемом заголовке.

20 октября 2010 в 21:44

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

Суть проблемы: Автоматически заполнять заголовок страницы, не давая возможности вносить его пользователю (то есть скрыть от ввода). Полезно сами знаете где.
Условие: Заполнение должно быть уникальным. Используется для этого номер ноды "nid".

Решение: