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

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

22 января 2014 в 19:28

Добрый день.

Хочу уточнить еще одну вещь по поводу перевода в Drupal 7.

А именно, есть ли решения, которые бы позволили не переводить контекстуальные ссылки и табы? (см. рисунок)

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

А он вместо привычных "Посмотр", "Редактировать" и т.д. видит "View", "Edit" и прочее ...

На мой взгляд, это не очень удобно.
А если язык страницы - вообще арабский, а то и иероглифический ?

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

Теоретический вопрос по многоязычными сайтам на основе модуля i18n

22 января 2014 в 16:01

Добрый день.

Если кто делает многоязычные сайты на основе модулей i18n, разъясните, пожалуйста, следующую ситуацию.

Допустим, есть нода на русском языке с адресом node/10.
И есть её перевод на английский язык с адресом node/11.
Языки на сайте настроены таким образом, что для просмотра русскоязычных нод нужно идти по адресу http://site.ru/node/10. А для англоязычной версии сайта набирается http://site.ru/en/node/11.

И в этом случае при просмотре ноды возможно следующее логическое противоречие.
Если в строке задать язык - как английский, а сама нода - на русском, то есть, http://site.ru/en/node/10, то страница может просто некорректно отображаться.

Процесс быстрой разработки сайта на Drupal 7

19 января 2014 в 12:39

Добрый день.

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

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

Классический способ, которым ранее мы пользовались, следующий:

1. Постановка задачи и проектирование структуры сайта и шаблонов
2. Дизайнер рисует эти шаблоны.
3. Верстальщик всё это верстает.
4. Программист натягивает верстку на CMS.

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

И если делать относительно несложные сайты на системах типа MODx, то это метод нормально работает.

Знаки подчеркивания в наименования стилей при использовании panels с самодельной разметкой

18 января 2014 в 0:35

Добрый день.

При работе с панелями и использовании самодельной разметки (через wizard) генерируются div'ы с такими стилями:

panels-flexible-region panels-flexible-region-yrv_layout-_______________________ panels-flexible-region-first left2

Никто не знает, как сделать так, чтобы в названиях не генерировалось последовательности знаков подчеркивания ?

Родительские элементы меню при вводе и редактировании контента

26 декабря 2013 в 9:04

Добрый день.

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

Модуль Context и контексты в Page Manager + Panels

24 декабря 2013 в 13:48

Добрый день.

Сейчас начал детально разбираться с модулями Page Manager, Cоntext и Panels.

И не совсем понятна одна вещь.

Вот есть модуль Context, в котором можно создавать контексты.

И есть модуль Page Manager, в котором при создании новой страницы можно задавать контексты (см. рис.)

Вот хочу задать пару вопросов.

Создание своих страниц с произвольным содержимым (визуальная замена для hook_menu)

24 декабря 2013 в 1:00

Добрый день.

Подскажите пожалуйста, каким образом можно создавать в визуальном режиме свои страницы, визуально настраивать к ним доступ и чтобы в результате некоторое произвольное содержимое.
Отображаемое содержимое может быть как блоком, так и результатом выполнения какой-нибудь пользовательской функции.

Лично мне на ум приходит только Page Manager + Panels + Context.

Существуют ли решения попроще ?

Объединение материалов и комментариев в одном views

15 декабря 2013 в 17:28

Добрый день.

Подскажите, пожалуйста, такую вещь.

Возможно ли в одном views вывести материалы и комментарии, отобранные по каким-либо критериям ?

Например, на сайте есть возможность с помощью одного флага лайкать материалы, а с помощью другого флага лайкать комментарии.

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

Так вот, есть ли средства, позволяющие views это сделать ?

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

Ошибка типа "Функция такая-то expects parameter 1 to be string, array given в функции ..."

7 декабря 2013 в 19:22

Добрый день.

Ни с того, ни с сего стали выскакивать warning'и такого типа.

Warning: strpos() expects parameter 1 to be string, array given в функции url() (строка 2194 в файле D:\OpenServer\domains\music\includes\common.inc).
Warning: substr() expects parameter 1 to be string, array given в функции url() (строка 2197 в файле D:\OpenServer\domains\music\includes\common.inc).
Warning: strpos() expects parameter 1 to be string, array given в функции drupal_strip_dangerous_protocols() (строка 1350 в файле D:\OpenServer\domains\music\includes\common.inc).
Warning: strpos() expects parameter 1 to be string, array given в функции url() (строка 2212 в файле D:\OpenServer\domains\music\includes\common.inc).

Небольшая недоработка при темизации tableselect

10 ноября 2013 в 17:23

Добрый день.

Сегодня обнаружил небольшую ошибку при темизации tableselect

А именно, если у тебя tableselect, то в рендер-массив этой таблицы невозможно впихнуть переменную colgroups.

Пришлось руками поправить код функции theme_tableselect().

Нужно ли об этом как-то уведомить разработчиков или colgroups не должно использоваться при темизации tableselect ?

Ошибка 500 при выполнении batch-операций

5 ноября 2013 в 10:40

Добрый день.

В тестовых целях купил хостинг на digitalocean.com (512MB Ram 20GB SSD Disk), поставил туда систему Vesta, затем поставил Drupal 7.23.

И сразу же стала возникать ошибка 500. И как я заметил, эта ошибка возникает во время выполнения batch-операций.

Ниже фрагмент error_log.

2013/11/04 11:27:04 [error] 13908#0: *84 upstream prematurely closed connection while reading response header from upstream, client: 31.23.130.186, server: r-yakimkin.ru, request: "POST /admin/modules/list/confirm?render=overlay HTTP/1.1", upstream: "http://146.185.158.128:8080/admin/modules/list/confirm?render=overlay", host: "r-yakimkin.ru", referrer: "http://r-yakimkin.ru/admin/modules?render=overlay"

Результат работы модуля ajax_comments

3 ноября 2013 в 23:04

Добрый день.

При работе с модулем ajax_comments, в частности, после нажатия на ссылку "Редактировать комментарий" (ajax_comments/edit/3) на экране отображается следующее (см. рис.)

Такая ошибка возникает как при родной версии ajax, так и при переопределенной своей версии ajax.

Это вообще решаемо или проще пока подождать стабильную версию модуля ?

Отображение комментариев с autopager

3 ноября 2013 в 12:00

Добрый день.

Если стоит задача - отображать комментарии к нодам, чтобы пейджер у них работал по принципу autopager (типа, как во ВКонтакте), то существуют ли для этого готовые решения ?

Или проще создать views, который бы отображал комментарии, подключить к этому views модуль views infinity pager, и выводить его или в блоке, или с помощью php ?

О средстве темизации форм в Drupal 7

2 ноября 2013 в 12:31

Добрый день.

Поделитесь, пожалуйста, опытом, есть ли способы темизации друпаловских форм, кроме классических (hook_form_alter, другие хуки, переопределение уже прописанных классов CSS и т.д.) ?

Например, недавно решал такую задачу.
Есть готовая верстка сделанная верстальщиком, и нужно было, чтобы форма ввода комментария выглядела вот таким вот образом:

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

function music_preprocess_comment_wrapper(&$vars)
{
  // Настройка формы добавления комментария
 
  // Обрамляем всю форму ввода комментария
  $vars['content']['comment_form']['#prefix'] = '<div class="comment-panel">';

Использование блоков и регионов при разработке своей темы

1 ноября 2013 в 17:38

Добрый день.

Такой вот вопрос - в основном, логическо-организационный.

Скажите пожалуйста, вот если делать темизацию проекта на Drupal 7, у которого оригинальный дизайн и независимая верстка, то имеет ли смысл при разработки темы проектировать её структуру как набор блоков и регионов ?

Периодически всплывает уведомление "Undefined index: scope в функции drupal_get_js()"

31 октября 2013 в 16:27

Добрый день.

Периодически при входе на какую-либо страницу админки выскакивают вот такие уведомления (см. рис.)

Никто не подскажет, в чем здесь может быть проблема ?

P.S. Раньше я использовал модуль jquery_update, но после того, как возникли проблемы при редактировании views, я решил этот модуль не использовать, а подключать вручную файлы jquery таким вот образом:

function MYTHEME_js_alter(&$js)
{
  $js['misc/jquery.js']['data'] = path_to_theme().'/js/jquery-1.10.0.min.js';
  $js['misc/jquery.js']['version'] = path_to_theme().'1.10.0';
  $js['misc/jquery.js']['preprocess'] = FALSE;
 
  $js['misc/ui/jquery.ui.core.min.js']['data']    = path_to_theme().'/js/ui/jquery.ui.core.min.js';

Привязывание обобщенных элементов меню к произвольному меню

29 октября 2013 в 18:27

Добрый день.

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

Например, вот так не работает

<?php
  $items
['user/%/wall'] = array(
    
'title' => 'user wall',
    
'page callback' => 'yr_user_wall',
    
'page arguments' => array(1),
    
'access callback' => TRUE,
    
'type' => MENU_NORMAL_ITEM,
    
'menu_name' => 'menu-user-menu-2',
  );

function 

yr_user_wall($user)
{
  return 
'Вот такая стена пользователя !';
}
?>

Отображение меню делаю вот так

<?php
   $mm 
menu_tree('menu-user-menu-2');
    print 
render($mm);
?>

Функция kpr($mm) - возвращает пустой массив.

А вот так работает:

<?php
  $items
['user/wall'] = array(?>

Задание ограничений на ввод определенной информации для конкретного пользователя

23 октября 2013 в 19:24

Добрый день.

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

Такой вопрос - каким образом эту задачу проще и правильнее всего решить ?
Общий бан, думаю, здесь не подойдет.

Приспособить для этого флаги + Rules + Rules Sheduler, чтобы флаг как сущность имел также поля "длительность" и "причина бана" ?

Проблемы при создании виртуального сервера с помощью Webmin + Virtualmin

30 июля 2013 в 23:49

Добрый день.

Установил себе на vps в целях тестирования связку "webmin + virtualmin".

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

В тьюториалах, например, как здесь (http://www.it-fm.ru/?p=894) предлагается, как я понимаю, запустить у себя на vps полноценный DNS-сервер, прописать у своего регистратора домена дочерние NS и т.д.

Решение проблемы просаженной файловой подсистемы

30 июля 2013 в 12:19

Добрый день.

В этой теме я поднимал вопрос о разном времени выполнения одних и тех же SQL-запросов.
И мне указали на то, что причина этого может быть метод виртуализации OpenVZ и вследствие этого просаженная файловая подсистема.

Хочу спросить следующее.
Если работать с хостером, который использует XEN или KVM, то проблемы с перегрузкой файловой подсистемы уйдут или останутся ?
Поделитесь, пожалуйста, опытом.