Официальный канал русскоязычного drupal

Чистый вывод полей

Здравствуйте, уважаемые посетители!
Третий день бьюсь на решением следующей задачи:
Требуется реализовать функционал основанный на дополнительных полях. В шапке сайта имеются имиджевые картинки, которые подгружаются индвидуально для каждой страницы. Также должна быть возможность включения и выключения правой колонки по средствам выпадающего списка к примеру.

Разбираемся с имиджевым блоком:
Для этого создал новый тип материала — Страница (Имиджевый. блок). К типу материала добавил дополнительное поле «Изображение»(тип поля и виджет — Изображение) — из которого и должны подгружаться картинки в следующую область кода:
<span style="color: #009900;"><<a href="http://december.com/html/4/element/div.html"   rel="nofollow" ><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"collage"</span>></span>

<span style="color: #000000">    <span style="color: #0000BB"><?php<br />        </span><span style="color: #FF8000">//Выводим регион "collage", если в поле "Изображение" пустое<br />        </span><span style="color: #007700">echo </span><span style="color: #0000BB">render</span><span style="color: #007700">(</span><span style="color: #0000BB">$page</span><span style="color: #007700">[</span><span style="color: #DD0000">'collage'</span><span style="color: #007700">];);<br />    </span><span style="color: #0000BB">?></span></span>

<span style="color: #009900;"><<a href="http://december.com/html/4/element/div.html"   rel="nofollow" ><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"collage-group"</span>></span>

<span style="color: #000000">        <span style="color: #0000BB"><?php<br />            </span><span style="color: #FF8000">// выводим содержимое поля "Изображение", в поле ихображение подгружатсья может до 5-ти картинок.<br />            </span><span style="color: #0000BB">$images </span><span style="color: #007700">= </span><span style="color: #0000BB">field_get_items</span><span style="color: #007700">(</span><span style="color: #DD0000">'node'</span><span style="color: #007700">, </span><span style="color: #0000BB">$node</span><span style="color: #007700">, </span><span style="color: #DD0000">'field_img'</span><span style="color: #007700">);<br />            </span><span style="color: #0000BB">$field_image </span><span style="color: #007700">= </span><span style="color: #0000BB">field_view_value</span><span style="color: #007700">(</span><span style="color: #DD0000">'node'</span><span style="color: #007700">, </span><span style="color: #0000BB">$node</span><span style="color: #007700">, </span><span style="color: #DD0000">'field_img'</span><span style="color: #007700">, </span><span style="color: #0000BB">$images</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">], </span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br />            </span><span style="color: #0000BB">$output </span><span style="color: #007700">= </span><span style="color: #0000BB">render</span><span style="color: #007700">(</span><span style="color: #0000BB">$field_image</span><span style="color: #007700">);<br />        </span><span style="color: #0000BB">?></span></span>

<span style="color: #009900;"><<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"   rel="nofollow" ><span style="color: #000000; font-weight: bold;">div</span></a>></span>
<span style="color: #009900;"><<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"   rel="nofollow" ><span style="color: #000000; font-weight: bold;">div</span></a>></span>

И собственно на этом я сижу уже три дня, нужно корректное получение «чистого» html, в идеале тег img обёрнутый в div.
Понял что помошники в этом задании мне будут функции field_get_items() — получение нескольких значений из поля, и field_view_field(); — отображение поля.
На хабре например пишут что так на прямую из базы брать плохо:
<span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Это неверный пример<br /></span><span style="color: #0000BB">$block</span><span style="color: #007700">[</span><span style="color: #DD0000">'content'</span><span style="color: #007700">] = </span><span style="color: #0000BB">$node</span><span style="color: #007700">-></span><span style="color: #0000BB">field_name</span><span style="color: #007700">[</span><span style="color: #DD0000">'und'</span><span style="color: #007700">][</span><span style="color: #0000BB">0</span><span style="color: #007700">][</span><span style="color: #DD0000">'safe_value'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?></span></span>

А правильно:
<span style="color: #000000"><span style="color: #0000BB"><?php $output </span><span style="color: #007700">= </span><span style="color: #0000BB">field_view_field</span><span style="color: #007700">(</span><span style="color: #DD0000">'node'</span><span style="color: #007700">, </span><span style="color: #0000BB">$node</span><span style="color: #007700">, </span><span style="color: #DD0000">'field_name'</span><span style="color: #007700">);</span><span style="color: #0000BB">?></span></span>

Но какие вариации я не пробовал результат либо такой:

Либо всевозможные ошибки или пустая страница. Я очень прошу помочь.
Официальный канал русскоязычного drupal

Подскажите! Как сделать каталог продукции.

В общем необходимо сделать каталог с многоуровневой вложенностью.
Например: 1 уровень: вид товара1, вид товара2
2 уровень: вид товара 1:
-аксессуары1 ,
-аксессуары2 ,
-аксессуары3 ,
3 уровень: аксессуары2:
-товар1,
-товар2,
-товар3,
-товар4,
С двойной вложеностью я решал вопрос следующим образом: Создавал для каждого вида Panel, в неё views с превьюшками каждого товара.
Заранее благодарен за внимание:)
Официальный канал русскоязычного drupal

Views Global Filter - хороший модуль но есть одна деталь

Предлагаю решение. Может кому пригодиться.
Столкнулся что модуль dhtml меню не работает стабильно. То подхватывается скрипт раскрытия подменю то не работает и меню становится раскрытым.
Выяснил, что всему виной модуль Views Global Filter.
Функция препроцесса не давала другим модулям тоже делать препроцесс.
<span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">global_filter_preprocess</span><span style="color: #007700">(&</span><span style="color: #0000BB">$variables</span><span style="color: #007700">, </span><span style="color: #0000BB">$hook</span><span style="color: #007700">) {<br />  if (</span><span style="color: #0000BB">$hook </span><span style="color: #007700">== </span><span style="color: #DD0000">'html'</span><span style="color: #007700">) { ...<br /></span><span style="color: #0000BB">?></span></span>

Ну и владелец модуля при инсталляции выставил вес модуля в -5. Поэтому если кто сталкнётся с этим модулем возможно всё будет хорошо, а возможно прийдётся либо у Global заменить вес либо вашему модулю повысить вес в инсталяционном файле (названиеМодуля.install). Если его нету то подключите к модулю.
Вот и сам код:
<span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">названиеМодуля_install</span><span style="color: #007700">() {<br />  </span><span style="color: #0000BB">db_update</span><span style="color: #007700">(</span><span style="color: #DD0000">'system'</span><span style="color: #007700">)<br />    -></span><span style="color: #0000BB">fields</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'weight' </span><span style="color: #007700">=> -</span><span style="color: #0000BB">10</span><span style="color: #007700">))<br />    -></span><span style="color: #0000BB">condition</span><span style="color: #007700">(</span><span style="color: #DD0000">'name'</span><span style="color: #007700">, </span><span style="color: #DD0000">'названиеМодуля'</span><span style="color: #007700">)<br />    -></span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br />}<br /></span><span style="color: #0000BB">?></span></span>

Удачи и не попадитесь, чтоб не потерять время!
Официальный канал русскоязычного drupal

темизация страницы пользователя

Подскажите, пожалуйста, как на странице пользователя сделать переключение между просмотр/редактирование не вкладками (tab), вместо них сделать просто ссылки
Официальный канал русскоязычного drupal

Исправленный модуль imagecrop

Если кому нужно выкладываю архив исправленного модуля imagecrop.

После редактирование превью фотографии не обновляло превью предосмотра. Получалась недоступная картинка. Как будто фото удалили.
Модуль достаточно хорош т.к поддерживает поля и у пользователя можно вырезать нужную область. Так же обновляет сразу фотографию. Уже обновляет ))
Настройки в редактировании поля но не работает пока в поле фотографии не выставишь свой стиль изображения admin/config/media/image-styles отображения превью загруженной фотографии и фильтр модуля. Без фильтра не сработает модуль.
Модуль для Drupal 7

ВложениеРазмер imagecrop.zip29.71 КБ
Официальный канал русскоязычного drupal

Global Redirect поддерживает Path или нужно устанавливать Pathauto?

На сайте исправлял ноды на ЧПУ вручную(установлен модуль Path) и закрыл в robots, но поисковики успели проиндексировать их и возникла проблема с дублями. Страницы выпадают с выдачи гугла(с яндексом более менее). Хочу установить модуль Global Redirect для устранения дублей.
Интересуют следующие вопросы:
1.Global Redirect будет работать в моем случае(Path), или он совместим только с Pathauto?
2.Нужны ли для его нормальной работы еще какие-то модули?
Официальный канал русскоязычного drupal

Снова мультиязычность

Доброй ночи друзья! Прошу помощи =)
Проблема в следующем, Есть сайт с привязкой продукции (модуль commerce) к разделам и подразделам таксономии .
Необходимо добавить 2 язык для таксономии и для продукции. Все остальные типы материалов и данных успешно переведены.
Для перевода таксономии использовал Entity translate, в настройках указал сущность таксономия. Перевести сам словарь удалось, а вот термины внутри не переводятся — нет переводимых полей. Через базу переопредели языковые поля для таксономии выставил в ru. но по прежнему нету выбора языка для терминов, и возможности перевода.
Продукция уже тоже имеет возможность быть привязанной к тому, либо иному языку, осталась только таксономия =)
Укажите пожалуйста направление, или статью, как правильно перевести Таксономую, к которой привязан каталог продукции.
Официальный канал русскоязычного drupal

Drupal@Omsk #6

Друзья, пришла пора встретиться в 2014 году.
Будем делиться новым и полезным, докажем, что сибирские друпалеры не впадают на зиму в спячку.
Ждем вас 8 февраля по адресу: Омск, Декабристов, 45, офис 117.
Регистрация на встречу — здесь http://drupal-omsk.timepad.ru/event/99549/#eventregisterform
Официальный канал русскоязычного drupal

[DrupalЮг] Друпал-чай в Краснодаре 28 декабря 2013 15:00

Всем привет.
Мы проведём очередной Южный DrupalЧай.
Время и место встречи — 28 декабря, суббота, 15:00, антикафе "Песочница". Потом для желающих afterparty в баре.
По всем вопросам можно:
звонить — 9183163495
писать — victor@rxb.name
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Основная тема чаепития — результаты 2013 года и обсуждение проведения Drupal-конференции в мае 2014 года в Краснодаре.
Антикафе Песочница, Краснодар, ул. Кирова, 59, Краснодар
Как добраться:
Энка: 67, 106а, 15, 5, 39. Выходить на остановке Гоголя по ул. Октябрьской
ФМР: 6, 9, 65, 67, 106а, 9, 10, 39. Выходить на остановке Гоголя по ул. Октябрьской
ЧМР: 28, 65. Выходить на остановке Гоголя по ул.Октябрьской
КМР: с 1 пересадкой. До Галереи на 17, от Галереи — 3, 26, 2, 9, 15, 31, 5, 9, 15, 45 Выходить на остановке Гоголя по ул. Октябрьской
ГМР:
ЦМР: 3, 2, 9, 15, 31, 5, 15 Выходить на остановке Гоголя по ул.Октябрьской
ЮМР: 95 Выходить на остановке Гоголя по ул. Октябрьской, 8, 49 Выходить на остановке Гоголя по ул. Кубанонабережная
Drupal глазами разработчика

Блог музицирующего веб-девелопера: Drupal: Необязательное поле ввода E-mail в форме оформления заказа Drupal Commerce

Нигде не нашёл способа реализовать опциональный ввод e-mail адреса при оформлении заказа в Drupal Commerce. Пришлось делать самому:
1. Добавляем в свой модуль или template.php:
<span class="co4">/**
 * Implements hook_form_FORM_ID_alter(): commerce_checkout_form_checkout.
 */</span>
<span class="kw2">function</span> MODULENAME_form_commerce_checkout_form_checkout_alter<span class="br0">(</span><span class="sy0">&</span><span class="re0">$form</span><span class="sy0">,</span> <span class="sy0">&</span><span class="re0">$form_state</span><span class="br0">)</span> <span class="br0">{</span>
  <span class="kw1">if</span> <span class="br0">(</span><span class="kw3">isset</span><span class="br0">(</span><span class="re0">$form</span><span class="br0">[</span><span class="st_h">'account'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'login'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'mail'</span><span class="br0">]</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span>
    <span class="re0">$form</span><span class="br0">[</span><span class="st_h">'account'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'login'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'mail'</span><span class="br0">]</span><span class="br0">[</span><span class="st_h">'#required'</span><span class="br0">]</span> <span class="sy0">=</span> <span class="kw4">FALSE</span><span class="sy0">;</span>
  <span class="br0">}</span>
<span class="br0">}</span>

Читать дальше →
Похожие записи: