Блог пользователя - roman-yrv

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

31 марта 2013 в 18:18

Добрый день.

Скажите пожалуйста, есть какие-нибудь средства, которые позволили бы пользователями в пределах одной формы настраивать произвольные языковые параметры ?

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

То есть, чтобы пользователь мог самостоятельно добавить новый язык для сайта, на одной странице, либо в пределах одного диалогового окна, настроить все параметры, связанные с данным языком и нормально работать.

Вопросы по электронному магазину на Drupal Commerce

31 марта 2013 в 17:52

Добрый день.

В ближайшем будущем возможно, будем разрабатывать для одной организации корпоративный сайт, который будет включать в себя электронный магазин.
Эта организация торгует довольно специализированным радиооборудованием и специализированным же ПО для него.
Сайт планируется многоязычный и это оборудование планируется через этот эл. магазин продавать как в России, так и за её пределами.

Разработкой электронных магазинов на Drupal я, к сожалению, еще не занимался. Тем более, если магазин будет многоязычный.

Сейчас разбираюсь с Drupal Commerce, которую решил под это дело использовать, и уже возникли такие вопросы.

1. Стандартная процедура оформления заказа, которая в DC - она для клиентов нормальная ? Или есть хорошие решения по её упрощению ?

[РЕШЕНО] Вопрос по модулю Commerce AutoSKU

31 марта 2013 в 15:27

Добрый день.

Потестил модуль Commerce AutoSKU и заметил следующее.

А именно, почему-то в формировании артикула не участвуют русские буквы.
Например, я хочу добавить тип товара "Мужская обувь".
Завожу в таксономии словарь "Материал" и ввожу туда 2 термина - "Натуральная кожа" и "Искусственная кожа".
В типе товара добавляю поле "Материал верха" и задаю ссылку на этот словарь из таксономии.
И далее, если я хочу включить название материала в AutoSKU, то если название материлал было введено на русском, то оно почему-то в артикул не включается.
А вот, если ввести термин на латинском, например, "leather", то это название благополучно включится в артикул.

Отсутствует Drupal 7 при выборе языка, на котором код

21 марта 2013 в 11:59

Заметил одно то ли упущение, то ли недоработку

А именно, когда хочешь пометить написанный код явно как "код", то нельзя выбрать drupal 7 (см. рис.)

Скажите пожалуйста, эту проблему планируется решить ?

Ведь нередко возникают ситуации, когда код на Drupal7, а ссылки на функции ведут на их описания на Drupal 6, что не всегда допустимо.

References или Entity Reference ?

18 марта 2013 в 19:14

Добрый день.

Для того, чтобы в нодах добавлять поля-ссылки на другие ноды, пользователей и т.д. с одной стороны существует модуль References, а с другой стороны - Entity Reference.

Вот стоит ли в новых проектах использовать References или уже раз и навсегда перейти на Entity Reference и всё ?

Вложенные подзапросы и Views

18 марта 2013 в 16:44

Добрый день.

Скажите пожалуйста, есть ли в Views 3 возможность создавать запросы с подзапросами ?

То есть, чтобы результат выполнения Views представлял собой SQL-запрос с подзапросами.

Причем, желательно наличие модулей, которые бы таким образом расширяли возможности Views.

Выполнение хука hook_theme в template.php

15 марта 2013 в 19:24

Решил поразбираться с особенностями темизации путем регистрации выполнения hook_theme (или template_theme) в файле template.php

Это для того, чтобы при создании темы зарегистировать свои шаблоны и вызывать их вместо прямого включения html-кода в функции.

Для экспериментирования я выбрал тему bartik, с ней и работаю.

Так вот, в файле template.php добавил следующий код - регистрирую шаблон

function bartik_theme($existing, $type, $theme, $path)
{
  return array(
    'themetest' => array(
      'variables' => array('arg1' => NULL),
      'template' => 'test',
    ),
  );
}

Далее, в поддиректорию templates (туда, где хранятся файлы *.tpl.php)? добавил файл test.tpl.php со следующим содержимым

<div id="div1">

SQL-запросы в файлах темизации

15 марта 2013 в 17:22

Добрый день.

Прочел такое мнение, что выполнение SQL-запросов в файлах темизации *.tpl.php Drupal - есть как минимум дурной тон программирования.

Такой вот вопрос.
А если нужно в файле темизации получить данные, а API-функции для этого то ли не существует, то ли её найти не удалось, каким образом тогда поступать ?
Писать свой модуль и в нём уже описывать эту функцию ?
Или для частных случаев это допускается ?

Небольшой ликбез по field_collection

13 марта 2013 в 20:17

Добрый день.

Никто не может подсказать, где можно найти ликбез по программной работе с модулем field_collection ?

То есть, допустим, есть нода с определенным nid, у неё есть поле типа field_collection с определенным названием, которое, в свою очередь, содержит другие поля и т.д.

Почему Drupal, а не Битрикс - аргументы для заказчика

12 марта 2013 в 16:36

Добрый день.

Данная тема - уже реально заезженная, но тем не менее ...

Представьте себе, что вы общаетесь с заказчиком по поводу разработки сайта и говорите, что разработку будете вести на CMS Drupal.
А заказчик в ответ говорит, что "вот сейчас все делают сайт на Битриксе ... и знакомый компьютерщик советует использовать именно Битрикс ... и уже звонили из веб-студии, которая работает на Битриксе, предлагали какие-то скидки ... а вот вы почему-то работаете на Друпале, хотя все работают на Битриксе." и т.д.

Вот какие, по вашему, аргументы можно привести в пользу Друпала ?

Сам я, к сожалению, с Битриксом не работал, поэтому могу от себя привести аргументы навскидку.

Объединение нод с одинаковым содержимым

3 марта 2013 в 19:16

Добрый день.

Скажите пожалуйста, есть ли какие-либо средства для объединения узлов(нод) с одинаковым содержимым ?

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

[РЕШЕНО] Тип поля Node Reference и Views

2 марта 2013 в 11:03

Добрый день.

Решил разобраться с CCK-полями типа NodeReference, чтобы данные для задания их значений и отображения можно было получать через Views (см. рис.)

Я так понимаю, что если на сайте есть много однотипных объектов с одинаковым заголовком, например, "Николаевка" или "Иванов", ввод ссылок на подобные объекты без уточняющей информации ("Николаевка, Неклиновский район, Ростовская область" или "Иванов, Сергей Петрович, цех № 5, сварщик") может просто привести к вводу неверной информации, когда введешь не ту Николаевку или не того Иванова. И вот как раз для решения таких проблем и существует возможность привязки Views к NodeReference.

Как хранить страницу сайта, представленную в единственном числе ?

26 февраля 2013 в 17:39

Добрый день.

Поделитесь, пожалуйста, опытом в следующей проблеме.

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

Например, главная страница или список клиентов или еще что-либо ?

Я, например, для этого задаю тип ноды, представляющий данную страницу (например main - главная страница или clients - список клиентов). И в этом случае все эти блоки с информацией хранятся в CCK-полях.
Ну и вдобавок запрещаю пользователям добавлять или удалять эти типы узлов - могут только редактировать.

Запрет мультиязычных ссылок в меню в многоязычном сайте

22 февраля 2013 в 19:33

Добрый день.

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

То есть, чтобы даже если адрес страница - example.com/en/page, то чтобы на этой странице не было никаких элементов меню типа en/node/123/edit или en/admin/content
Чтобы на всех страницах независимо от языка линки в меню были бы русскими и не содержали ни 'en/', ни префикс другого языка.

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

А то при редактировании контента, если в редактирование входить как /en/node/123/edit, возникают непонятные "косяки".
Например, при удалении CCK-поля картинки оно не удаляется, а происходит нечто непонятное

Например, мне нужно заменить картинку в англоязычной странице

Древовидное отображение контента в админке в Drupal

21 февраля 2013 в 17:30

Добрый день.

Сейчас сдаем корпоративный сайт на Drupal и сегодня общался с клиентом по поводу юзабилити.

Он был очень недоволен тем, что "В других системах разделы сайта представлены в виде дерева и там всё понятно и удобно. А здесь какие-то непонятные фильтры, языки и прочее. И пока найдешь страничку, которую собрался отредактировать, с ума сойдешь. Руки бы поотрывать тем, кто это всё сделал".

Запрет запуска CKEditor в блоках

12 февраля 2013 в 15:58

Добрый день.

Подскажите пожалуйста, как можно сделать, чтобы в настройке блоков, там где поле редактирования содержимого, CKEditor вообще не запускался ?

То есть, чтобы было обычное многострочное текстовое поле без возможности переключиться на CKEditor.

Функция для получения элементов подменю

11 февраля 2013 в 12:11

Добрый день.

Скажите пожалуйста, есть ли функция, которая бы получала параметрами родительский элемент меню, элемент для сортировки, еще что-то, а возвращала бы массив, содержащий элементы подменю, удовлетворяющие этим условиям ?

К сожалению, в api я такую функцию не обнаружил. И в настоящее время решил задачу с помощью обычного sql-запроса из таблицы menu_links, но чувствую, что это не совсем правильный путь.

Пример функции l() для генерирования ссылки для другого языка

8 февраля 2013 в 23:05

Добрый день и прошу прощения за, возможно, глупый вопрос.

Не можете ли написать пример, как использовать функцию l() (которая формирует ссылки) для формирования ссылок для многоязычного сайта ?

Например, у нас есть ссылка на русскоязычную страницу - '/clients'.

Каким образом с помощью функции l() можно формировать ссылки типа 'en/clients','fr/clients' и т.д. ?

Не работает хук, описанный в inc-файле

4 февраля 2013 в 12:47

Добрый день.

Решил поэкспериментировать с хуками views, перехватив хук hook_views_query_alter, и столкнулся со следующей проблемой.

Сначала создал файл yrv_util.views.inc (мой модуль называется yrv_util, и, как указано в описании, хуки, работающие с views, нужно определять в файле MY_MODULE.views.inc) и разместил там код этого хука.
Затем дописал в yrv_util.info строчку files[] = yrv_util.views.inc.
И хук в этом случае не срабатывает.
Пробовал очистить кэш - так же не срабатывает.

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

17 января 2013 в 14:39

Добрый день.

Допустим, разрабатывается некий портал, посвященный бизнесу. И в этом портале предусмотрены 2 типа зарегистрированных пользователей (кроме администраторов, модераторов и т.д.) - просто пользователи или владельцы бизнеса.
"Владельцы бизнеса" по сравнению с "просто пользователями" имеют дополнительные возможности - например, могут добавлять и редактировать информацию о своём бизнесе.

И пользователь при регистрации выбирает сам, либо далее в процессе работы может выбрать, кто он - просто пользователь или владелец бизнеса.

После того, как пользователь зарегистрировался как "владелец бизнеса", администрация сайта должна подтвердить его роль, получив перед этим уведомление о том, что некто зарегистрировался как "владелец бизнеса", либо захотел считать себя таковым.