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

Быстрый хак модуля Livejournal Crossposter (ljxp) для работы с полями CCK

15 января 2011 в 15:49

Довольно распространенный модуль Livejournal Crossposter (ljxp) предназначен для автоматической публикации материалов Drupal-сайтов на Livejournal-совместимых сервисах. Я уже как-то писал о его установке и настройке у себя в блоге и на Drupal.ru. Но у модуля есть один существенный недостаток - он кросспостит в ЖЖ только стандартные заголовки ноды и ее тело (body) в виде тизера или полного текста. Поля CCK в нем полностью игнорируются.

OpenStore - моя сборка Drupal+Ubercart (тот самый философский камень)

14 января 2011 в 23:39

Несколько запоздало (в свете выхода 7-й версии) представляю свою сборку Drupal 6.x + Ubercart 2.x под названием OpenStore.

Сайт проекта OpenStore

Скачать OpenStore

UPD от 22.01.2011 Качаем последний dev!

Более 2-х лет назад я столкнулся с такой штукой как Drupal пятой модели. Мой интерес был практический - сделать интернет-магазин, который можно было бы расширять по мере необходимости, имел бы понятную архитектуру, и тд... До этого у меня были непродолжительные романы с другими решениями для e-commerce вроде Oscommerce и проч., к которым я довольно быстро охладел.

Drupal был свеж, заманчив, обещал много разных благ, а в связке с Ubercart, похоже, должен был дать всё то, о чём я и не мечтал. Я решил смастерить свой свечной заводик в течении месяца-два... Но, господа, недаром Друпликон ухмыляется как Мона Лиза Smile

Самостоятельная разботка интернет-магазина на основе Drupal для человека, незнакомого с API Drupal, и, тем более, с php, и, тем более, с базовыми знаниями CSS+HTML представляет собой кромешный ад и не может быть рекомендована, если вы хотите просто начать свой бизнес в сети, т.е вас интересует немедленный результат

Drupal 7 - сделать выпадающее меню администратора

14 января 2011 в 22:49

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

[##523640][/##]Теперь о том как сделать верхнее меню админа раздвижным:

drupal 7 - легко делаем Full HTML для авторов по умолчанию

14 января 2011 в 22:24

Друзья, спешу вас обрадовать в друпал 7 решена проблема с неудобным выбором Формата ввода.
Авторам/админу в шестой ветке приходилось выбирать при создании ноды формат ввода FullHtml
или пользоваться сторонним модулем Better Formats

В семерке одним из преимуществ является то, что функции BF уже встроены в ядро.
«Most of the features in BF are in Drupal 7 core now.»

Модуль расчета доставки EMS Russian Post - для Ubercart

14 января 2011 в 18:38

По мотивам обсуждения http://drupal.ru/node/53748 сделал модуль расчета доставки средствами EMS Russia.
Модуль использует родные поля доставки, предоставленные уберкартом.
Т.е. человек при оформлении заказа выбирает область, и вписывает город. город при необходимости (если не найден в базе ems) чистится от "г,пос,...", и проверяется еще раз. Если фейл - считаем как до региона. Есть поддержка международных отправлений.

Адрес проекта: http://drupal.org/project/uc_ems

Скрины:
EMS Russian Post

"Нет связи с EMS":
EMS no connection

Страница сеттингов:
EMS settings page

Как видите, есть настройки типа добавочной стоимости.

В итоге был так же создан багрепорт в Уберкарт (устарели регионы России, модуль это пока решает динамической подменой вводимых пользователем данных):
http://drupal.org/node/1027060

Если кто-то хочет материально отблагодарить разработчика, т.е. меня, я не против Smile
В комментарии к переводу просьба писать "ems от [ник на drupal.ru]", если хотите быть упомянуты на странице модуля drupal.org - сообщайте с каким урлом/именем.
Yandex.money
transfer-pay@yandex.ru
или номер счета: 4100190415303
Webmoney
Z352678179207
R114412215620
E406623242647

Темизация вывода ноды в RSS-трансляции. Нужно ли решение?

14 января 2011 в 14:20

Здравствуйте!

Всем известно, что у нас ноды на выводе бывают в двух состояниях - это ТИЗЕР и ПОЛНАЯ НОДА.

Удобно темизировать создавая в папке с темой файл node-[node_type].tpl.php. В этом файле среди прочих доступна переменная $teaser: Flag for the teaser state, по которой удобно ориентироваться, в каком состоянии ноду требуется показать. Полный набор информации на эту тему тут (http://drupal.org/node/190815).

Возникла задача - создать RSS ленту. На сайте проекта большое количество разных типов нод, больше половины из них требуется анонсировать через RSS. Как водится, пошел во Views, создал вид RSS. Думаю, сейчас сделаю Row Style = Материал - Аннотация и тизеры моих нод попадут в мою RSS ленту.

Но не тут то было.

В RSS выводятся ноды со всеми полями и метками к полям, короче ужас. И вот о чем я задумался. Почему учтены состояния ТИЗЕР и ПОЛНАЯ НОДА, но нет такого состояния как НОДА В ЛЕНТЕ (или RSS ITEM).

В общем, итогом моих размышлений стал модуль, который позволяет темизировать вывод ноды в RSS ленте, создавая в папке с темой файл node-[node_type]-rss.tpl.php и работая с ним так-же как обычно работаешь с темизацией ноды для тизера либо полной версии.

В связи с этим вопрос, нужен ли этот модуль в продакшн-виде для нашего сообщества? Или оставить его в текущем проекте и забыть?

Автоматическая установка Drupal 7 с командной строки

13 января 2011 в 21:05

В 7-й версии появилась возможность автоматизировать процесс установки, создав конфигурационный файл install.site.php, где site - название вашего сайта. Этот файл нужно поместить туда же, где расположен стандартный install.php (в корне сайта). В файл install.site.php добавить следующий скрипт:


<?php
include_once 'install.php';
$settings = array(
  
'parameters' => array(
    
'profile' => 'default',
    
'locale' => 'en',
  ),
  
'forms' => array(
    
'install_settings_form' => array(
      
'driver' => 'mysql',  //тип базы данных
      
'database' => 'my_db_name'//имя базы данных
      
'username' => 'my_db_username'//имя пользователя базы данных
      
'password' => 'my_db_password' //пароль к базе данных
    
),
    
'install_configure_form' => array(
      
'site_name' => 'My site',  //название для вашего сайта
      
'site_mail' => 'admin@mymail.com'//email сайта
      
'account' => array(
        
'name' => 'admin',  //имя суперпользователя сайта
        
'mail' => 'admin@mymail.com',  //email суперпользователя (обычно совпадает с email сайта)
        
'pass' => array(
          
'pass1' => 'password_for_site',  //пароль суперпользователя
          
'pass2' => 'password_for_site',  //подтверждение пароля суперпользователя
        
),
      ),
      
'update_status_module' => array(=> TRUE),  //включить иодуль Update Manager
      
'clean_url' => TRUE,  //включить чистые ссылки
    
),
  ),
);
install_drupal($settings);
?>

Что изменилось в Drupal 7

13 января 2011 в 20:25

Функционал Drupal 6, который удален в 7-й версии:
1) удалена блокировка диапазона IP-адресов. Можно заблокировать только один IP-адрес за раз. (т.к. блокировка IP-адресов прерогатива операционной системы и брандмауера)
2) удалены темы Bluemarine, Chameleon и Pushbutton
3) удалена возможность выбирать тему по-умолчанию при регистрации нового пользователя
4) удалена переменная mime_extension_mapping, вместо нее введен хук hook_file_mimetype_mapping_alter()

Live Translation for Drupal 7

13 января 2011 в 7:15

Для 6.x есть такой замечательный модуль Live Translation. Он позволяет автоматически из админки загружать и устанавливать на сайт переводы модулей с сайта Drupaler или с другого сервера переводов.
Подскажите, существует ли аналогичное решение для 7.x?

Решено!
http://drupal.org/node/1025262
Сделал Live Translation для 7.x
Пользуйтесь на здоровье.