Блог пользователя - volocuga@drupal.org

OpenStore на Хабре. Неистово плюсуем

1 февраля 2011 в 21:46

The most мазёвый перевод Drupal 7

1 февраля 2011 в 17:01

Надысь в мои руки попал официальный перевод Друпал 7 на drupal.org и я снова убедился — хочешь сделать как надо — сделай сам и с нуля.

Качество перевода, мягко говоря, страдает. И дело не в описках мелких, запятых всяких — это всё мелочи.

Поражает атмосфера методичного и беспробудного тупилова, в которой это всё переведено.

Обращаюсь даже не знаю к кому:

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

Вообщем, говнецо я подчистил (допускаю, что там ещё на дне осталось), проверил по мере сил контекстно в интерфейсе.

В архиве 2 файла

Импорт, сначала drupal.ru.po, потом includes.po, иначе строки в некоторых местах слегка коряво (не критично) будут переведены

Качаем ретиво

Накидайте ссылки на высокопосещаемые IT форумы

27 января 2011 в 18:47

Сам то я нигде почти не бываю.

Тематика форумов:

Общее сайтостроение
Коммерсц в интернете

НЕ НАДО:

узкоспециализированные форумы гиков и линуксоидов

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 представляет собой кромешный ад и не может быть рекомендована, если вы хотите просто начать свой бизнес в сети, т.е вас интересует немедленный результат

{Порешил}Проблема с сохранением отформатированного текста через node_save

12 января 2011 в 14:15

Возникла проблема при сохранении текста, содержащего хтмл теги

Код

<?php  
  $text 
'
  <h3><a id="1" name="1">Заголовок</a></h3>
  <p>текст</p>
  .... много текста
  <p>текст</p>
  '

  

$node = new stdClass();
  
$node->title 'Заголовок';
  
$node->body $text;
  
$node->type 'page';
  
$node->created time();
  
$node->changed time();
  
$node->path 'about';
  
$node->status 1;
  
$node->promote 1;
  
$node->sticky 0;
  
$node->format 3// формат ввода, 3 - php
  
$node->uid 1;
  
node_save($node); // сохраняем

?>

Как видим формат ввода установлен в 3, что соответсвует php фильтру

Текст не сохраняется. Простой текст сохраняется

Озанчает ли это, что при сознании ноды через node_save() настройки фильтра игнорируются и применяется некий дефолтный фильтр?

Или я чего упустил?

Переписать пресеты imagecache от других модулей програмно

8 января 2011 в 21:46

Возьмём пресеты, которые добавляет Уберкарт. Задача изменить действия в них и/или добавить другие действия

Я соорудит такой код:

<?php

 $presets 

= array(
    array(
      
'presetname' => 'product',
      
'actions' => array(
        array(
          
'action' => 'imagecache_crop',
          
'data' => array('width' => 300'height' => ''),
          
'weight' => 0,
          
'module' => 'imagecache',       
        ),
        array(
          
'action' => 'canvasactions_canvas2file',
          
'data' => array('xpos' => 'center''ypos' => 'center''path' => 'actions/pad_300_300.gif''dimensions' => 'background',),
          
'weight' => 1,
          
'module' => 'imagecache_canvasactions',       
        ),
      ),
    ),
    array(
      
'presetname' => 'uc_thumbnail',
      
'actions' => array(
        array(
          
'action' => 'imagecache_scale',
          
'data' => array('width' => 55'height' => 55'upscale' => 0),
          
'weight' => 0,
          
'module' => 'imagecache',       
        ),
        array(
          
'action' => 'canvasactions_canvas2file',
          
'data' => array('xpos' => 'center','ypos' => 'center''path' => 'actions/pad_60_60.gif','dimensions' => 'background'),
          
'weight' => 1,
          
'module' => 'imagecache_canvasactions',       
        ),
      ),
    ),
    array(
      
'presetname' => 'product_full',
      
'actions' => array(
        array(
          
'action' => 'imagecache_scale',
          
'data' => array('width' => 600'height' => 600'upscale' => 0),?>

hook_views_default_views_alter() Нужен рабочий образец!

4 января 2011 в 14:05

hook_views_default_views_alter() - такая нужная функция и так мало о ней написано!

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

Спасибо

Переписать дефолтные виды при помощи Features

3 января 2011 в 21:03

Народ, использующий Features для своих видов: как переписываете дефолтные виды, которые предоставлены различными модулями?

Тока вручную, через hook_views_default_views_alter() и больше никак?

Принудительно показывать пустые блоки с кастомным текстом в них

2 января 2011 в 14:50

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

Что нибудь попроще Smile

Парни, как автоматом загружать переводы для файлов в /includes

1 января 2011 в 23:40

Всем, в том числе и мне, известно, что при установке Друпал подхватывает переводы для того или иного модуля, если он лежит в папке модуля по адресу translations/код_языка.po, а как быть с переводами для системных файлов .inc в директории /includes?

Неужели только ручками? Сразу скажу, что вариант с объединением перевода для /includes с каким нибудь переводом модуля не подходит по некоторым причинам - всё должно быть отделено

Пробовал ложить перевод в includes/translations/код_языка.po и это не работает

Програмно переписать дефолтную вьюху, вразумите

31 декабря 2010 в 0:57

Парни, как я понял Features не поддерживает дефолтные вьюхи (т.е те, которые прописаны в файлах), вопрос:

Есть модуль который имеет дефолтный вид и использует его. Я не могу просто выключить его вьюху и создать свою - он использует только свою и это в коде

Его вьюху можно переписать вручную, а как это сделать програмно? Задача переписать вид модуля через инсталляционный профиль.

[Решено] Cannot redeclare function (previously declared on line 123) on line 123

24 декабря 2010 в 18:38

Вопрос скорее по PHP сломал мозг, не могу понять, в чём дело

<?php

Fatal error

Програмная запись строки в settings.php

22 декабря 2010 в 18:24

При установке модуля domain access как известно требуется добавить в settings.php строчку со ссылкой на его конфиг

У меня этот модуль ставится из установочного профиля. Так как я не могу записать нужную строку в settings.php перед установкой системы (установка не пойдёт вообще), то я решил записывать нужную строку на конечном этапе установки

Соорудил код:

<?php

function write_domain_conf () {
$modules module_list(FALSETRUEFALSENULL);
if (
in_array('domain'$modules)) {
global 
$base_path;
$filename $base_path conf_path() . '/settings.php';
$path $base_path 'sites/all/modules/domain/settings.inc';
$conf "include '$path';";
chmod($filename0777);
if (
is_writable($filename)) {
    
fopen($filename'a+');
    
fwrite($filename$conf);
    
fclose($filename);
  }
 
chmod($filename0444);
 }
}

?>

Это не работает, думаю дело в правах. Директории, в которых находится settings.php имеют права 777, сам settings.php тоже как бы должен иметь 777 (тот же владелец ведь?)

В чём может быть проблема?

Парни, как подменить тему в профиле установки

22 декабря 2010 в 15:43

Профиль установки, с самого начала, заменить системный Гарланд на свою, которая используется только при установке

Без хака ядра, кто нибудь делал?

К вопросу о пользователе №2

20 декабря 2010 в 23:14

Никогда не обращал на это внимание, но сегодня, в процессе написания профиля установки, столкнулся с тем, что юзер №2 никак не хочет создаваться. Первым идёт админ, второго нет. Пробовал обновлять запросом - ноль эффекта, всё так же юзер №3 самый первый за админом. Встречал скудные упоминания об этом баге на орге, вроде связано с БД.

Кто нибудь из знатоков MySQL просветите, почему есть юзер 1, но нет №2?

Загрузить одним махом все переводы из одного файла при установке. Как?

12 декабря 2010 в 18:52

Коллеги, подскажите максимально простой способ загрузки перевода сборки из одного большого .po из профиля установки

Я смотрел установочный профиль Open Atrium, там используется l10n_update, который тянет перевод с ихнего сервера. Это нехило так усложняет задачу, завести свой сервер локализации у меня в планах явно не на первом месте.

Более лёгкий способ?

Спасибо.

Софт для создания патча MySql дампа.

10 декабря 2010 в 1:49

Ситуация: есть некоторая абстрактная сборка Друпал

Сборка настроена от а до я, что подразумевает использование дампа БД. В процессе тестинга вносятся правки как в код, так и в БД.

С патчем файлов всё ясно, чего не скажешь про БД.

Посоветуйте софт для Mysql который:
1) Желательно фриварный
2) позволяет сравнивать два варианта .sql дампа и создавать патч в виде готового к выполнению .sql запроса, который можно выполнить, скажем в PhpMyAdmin

Кто-то практически таким занимался?