z-s: Блог

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

Drupal Commerce - добавить несколько товаров сразу. (commerce_cart_add_to_cart_form_submit)

22 июня 2013 в 9:57

Среда:
Drupal 7
вывод select для формы добавления товара преобразовал в checkboxes: $form['product_id']['#type'] = 'checkboxes';

Процесс:
когда вызывается функция commerce_cart_add_to_cart_form_submit() - она добавляет только один (первый отмеченный) вариант в корзину.

Задача:
Добавить несколько разных товаров. Пример:
3 красных рубашки
2 зелные рубашки
7 шерстяных кофт

Вопрос:
Как?

D7 drupal_goto кирилица

10 марта 2013 в 17:09

Проблема: сделал модуль - для банера ссылка на внутренний адрес. Обработка запроса и 301 редирект на домен.
Когда домен английский нет проблем.
Когда кириллица - переделывает урл в паникод. - Это проблема. Что делать?

hook_block_views вызывается дважды

14 декабря 2012 в 0:18

Как отследить/предотвратить повторный вызов hook_block_views ?

Нужно делать вставку в БД внутри блока когда он отображается.

Проблема в том что сейчас в БД вставляется две записи.

Выбор пресета картинок как field select внутри ноды/термина

13 декабря 2012 в 3:30

Задача:

В термин добавить поле в котором список с существующими пресетами для картинок
У разных терминов в словаре может быть свой пресет.
К ноде прикрепляем термин

В зависимости от выбранного формата в термине (некое field внутри термина) оторажать в нужном формате image в ноде.

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

[РЕШЕНО] SQL в Drupal 7

13 декабря 2012 в 0:28

Просьба помочь разобраться в прослойке работы с БД.

1. Мне все-таки не очень понятно когда использовать db_select() а когда EntityFieldQuery - и в чем разница.

2. [срочно надо понять] в EntityFieldQuery - каким образом сделать условие на типа WHERE node.a = node.b (->fieldCondition('a','value',???) - здесь указывается переменная а вот как туда запихнуть node.b - черт его знает)

Календарь во вьюсе в виде блока

9 декабря 2012 в 0:03

Задача: нужно было сделать календарь. Причем чтобы по ссылки указывали на свои представления.

Смотрел вариант calendar + date + views - но там плохо что жесткая привязка к полю типа date - мне же этой привязки не нужно было.

Теперь то что касается вьюса: лениво было отдельно модуль блока писать - поэтому во всьюсе фильтр поставил материал ранее 01-01-1970 и в разделе что делать если нет данных - php код. (хотя уверен отдельный модуль будет производительнее - но если вдруг кому понадобиться - пишите сделаю полноценный настраиваемый под ваши потребности модуль блока календаря с привязками ко вьюсам )

Сразу оговорюсь что написано грязно, с дублирование проверок - но главное суть.. p.s. лень нифига не двигатель прогресса - не берите с меня пример!

получить список пресетов

1 декабря 2012 в 20:51

Во views нужно получить ссылку на изображение. [сделано]
Использую стандартный тип поля "image", но поскольку дефолтный форматер выводит изображение с тегами, а мне нужно только ссылку сделал свой форматер:

<?php

/**
 * Implements hook_field_formatter_info().
 */
function imgformater_field_formatter_info() {
  return array(
    
'imgformater_absolute_url' => array(
      
'label' => t('Absolute URL, as plain text'),
      
'description' => t('default formater for image field type do\'nt get us to take plain url of image, this formeter do it'),
      
'field types' => array('image'),
      
'settings' => array(
                        
'preset'=>'thumbnail',
      ),
      
'multiple values' => FIELD_BEHAVIOR_DEFAULT,
    ),
  );
}

/**?>

Imagecache без cck и views

29 сентября 2011 в 23:20

Задача - ну вот хотелось использовать Image и чтобы Imagecache на него распространился.

Нюансы решения - грязное, пришлось поправить 2 строки кода.
Решение - в файле image.module в функции theme_image_display() - меняем theme('image',...); на
theme('imagecache','название_вашего_пресета_в_imagecache',...).

После этого изменения можем увидеть что картинки исчезли совсем. А это потому что ссылки стали вида: хттп://имя_сайта/sites/default/files/imagecache/хттп://имя_сайта/sites/default/files/image/pupsik.jpg

В общем дублирование..
А все дело в том что в этом же файле выше в функции image_display() используется обертка для node->images['label'] - убираем её и всё работает как надо.

Поскольку метод грязноват - буду рад если кто скажет какие траблы из-за этого возниакют (если).
Может модуль написать для этого дела.. всё зависит от спроса.

Закрываем прямой доступ к файлам на сервере

29 сентября 2011 в 23:07

Задача
Чтобы были доступны картинки только с водным знаком и чтобы по прямой ссылке (чуть правленной) файлы доступны не были.