roman-yrv: Блог

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

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

Установка XHProf на CentOS 6

24 июля 2013 в 22:01

Добрый день.

Пытаюсь установить XHProf на CentOS 6, делаю, как описано ниже

pecl download xhprof-0.9.2
tar -xvf xhprof-0.9.2.tgz
cd xhprof-0.9.2/extension
phpize
./configure
make
make install

Далее прописываю в php.ini

[РЕШЕНО] Проблема при работе с memcache

24 июля 2013 в 19:52

Добрый день.

Сейчас тестирую один VPS и после того, как я установил xhprof, как написано здесь

http://drupalace.ru/lesson/proizvoditelnost-sayta-na-drupal-analiz-serve...

стало выскакивать сообщение следующего характера

Время выдачи страницы на свежесозданном сайте

23 июля 2013 в 23:25

Добрый день.

Хочу задать несколько абстрактный вопрос.

А именно, допустим, заказали хостинг или недорогой VPS.
Установили туда Drupal 7 и добавили несколько тестовых записей (например, несколько статей).
Тема используется стандартная - bartik.
Установили модуль devel и настроили его, чтобы он показывал время генерации страниц + время генерации и кол-во SQL-запросов.

Запустили главную страницу свежеинсталлированного сайта и смотрим.

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

Вот, например, если время генерации такой страницы будет составлять порядка 400-500 миллисекунд - это нормально ?
Или это очень слабо ?

Разное время выполнения одних и тех же sql-запросов.

23 июля 2013 в 12:29

Добрый день.

Подскажите пожалуйста, решаема ли такая проблема, когда один и тот же SQL запрос в одном случае может выполняться, скажем, менее одной миллисекунды, а в другом случае - 90 миллисекунд (см. скриншот) ?

Если задача решаема, то поделитесь, пожалуйста, информацией по решению.

[РЕШЕНО] Средство для наглядной загрузки файла

18 июля 2013 в 12:11

Добрый день.

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

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

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

Объединение "поиска по пользователям" и "поиска по содержимому" в один

13 июля 2013 в 10:30

Добрый день.

Скажите пожалуйста, есть ли готовые средства, позволяющие на странице поиска избавиться от разделения на "поиск по содержимому" и "поиск по пользователям" (см. рисунок) ?

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

inline-форма для работы с флагами

22 июня 2013 в 15:44

Добрый день.

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

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

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

Решение по синхронизации Drupal Commerce и 1С

15 июня 2013 в 8:32

Добрый день.

Подскажите пожалуйста, существует ли уже какое-нибудь готовое и работающее решение по интеграции Drupal Commerce и 1С ?

А то в Интернете на эту тему много разговоров и рассуждений, а вот решения найти не удалось.

[РЕШЕНО] Ошибка при мультизакачке картинок с filefield sources + plupload.

2 июня 2013 в 18:52

Добрый день.

При попытке закачки картинок с помощью filefield sources + plupload нередко возникает ошибка (см. рис.)

Причем, на локальном хостинге этих проблем не было, а на рабочем хостинге - такая ошибка возникает вообще непонятно, по какой причине и по какой логике.

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

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

Формирование результатов views по умолчанию не на table, а на div

30 мая 2013 в 23:08

Добрый день.

Подскажите пожалуйста, существуют ли готовые решения, которые позволили бы сделать так, чтобы результаты Views, если их отображать в формате "сетка" или "таблица", формировались не на основе table, а на основе вложенных слоев (div) ?

Содержимое блока в зависимости от ширины экрана

28 мая 2013 в 22:46

Добрый день.

Сегодня потестировал тему Omega как хорошее решение для темизации и создание респонсивных сайтов.

Только вот осталась одна непонятная вещь.

А именно, поделитесь опытом, каким образом можно с наименьшей головной болью сделать, чтобы содержимое определенного блока в зависимости от ширины экрана отображалось так или иначе.

Поворот фотографий после мультизакачки с помощью модулей Image, Insert и Multiupload Imagefield Widget

17 мая 2013 в 18:48

Добрый день.

С помощью модулей Image, Insert и Multiupload Imagefield Widget настроил, чтобы при вводе ноды определенного типа закачивать также и несколько фотографий.
Но столкнулся с одной проблемой.
А именно, после закачки некоторые фотографии нуждаются в повороте (см. рис.)

Права пользователей для материалов определенных авторов

17 мая 2013 в 13:19

Добрый день.

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

Например, есть некий сайт, у которого есть несколько авторов материалов и какое-то количество зарегистрированных пользователей.
И у пользователей по умолчанию есть право комментировать материалы авторов.

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

Проблема при кросспостинге статьи в ЖЖ

5 мая 2013 в 8:55

Добрый день.

Настроил на одном из своих сайтов кросспостинг статей в ЖЖ с помощью модуля ljxp.

Всё нормально, за исключением одного. А именно, если на сайте изначально были относительные ссылки, например, a href="/node/12345", то они так и кросспостятся, как относительные.
И соответственно, из уже потом нужно в ЖЖ исправлять на абсолютные, дописывая название своего сайта.

А нельзя ли каким-нибудь образом сделать, что ссылки при кросспостинге писались как абсолютные ?

Классы контроллеров для создаваемых сущностей

18 апреля 2013 в 19:58

Добрый день.

Сейчас пытаюсь разобраться с созданием своих Entity (сущностей)

И не могу понять, для чего при описании сущности используются контроллеры (классы, наследуемые от DrupalDefaultEntityController) ?

Ведь в понятиях MVC контроллер - это обработчик определенных запросов к сайту, а это в Drupal реализуется с помощью hook_menu - описываешь путь в меню, какой нужно, и спокойно его обрабатываешь.

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