Блог пользователя - sergera-sakh

Ускорение генерации страницы без кэша

30 июля 2015 в 10:40

Друзья, требуется помощь. Суть проблемы: есть написанный самопальный модуль, на основе Simpleads (баннеро-крутилка, помесь AdRiver и DoubleClick), на сайте, где размещаем рекламу прописываем в нужное место javascript, он вызывает определенный УРЛ и подгружает, баннеров может быть до 4-х, соответственно используется случайная генерация, плюс в зависимости от REFERER баннеры могут отличаться (один рекламодатель размещается только в разделе новостей, другой только в блогах, но в одном и том же месте). Получается, что встроенный механизм кеширования не подходит, т.к.

[РЕШЕНО] Как через hook_link_alter добавить к ссылке класс?

4 декабря 2013 в 2:43

Доброго времени суток! Существует свой модуль, там функция в три строки:

<?phpfunction radio_105_link_alter(&$links, $node) {
  foreach ($links as $module => $link) {
    if ($module == 'comment_add') {
        $link['attributes']['class'] = 'popups';
    }
  }
}?>

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

Распечатанная ссылка выглядит так:

Array
(
    [title] => Добавить комментарий
    [href] => comment/reply/23
    [attributes] => Array
        (
            [title] => Поделитесь своими мыслями и мнением относительно этой темы.
            [class] => popups
        )

    [fragment] => comment-form
)

Views взаимосвязи, node_reference, уникальность родительских нод.

24 мая 2013 в 5:42

Господа друпалурги, есть вопрос. Сам вроде не дурак, уже давно пользуюсь вьюсами, в том числе и аргументами и взаимосвязями, но сегодня впервые появилась проблема: Есть тип материала "Фирма", также есть тип "Выгодное предложение компании", которое создается со страницы фирмы, и соответственно имеет поле типа node_reference, куда прописывается NID фирмы. Встала задача - вывести список фирм, которые имеют прикрепленные к ним выгодные предложения ("Участники скидочной программы"). Проблема в том, что некоторые фирмы, которые активно добавляют скидки и акции, всплывают в этом списке несколько раз.

Настройка исключения одной страницы из стандартного кеширования

4 июля 2012 в 6:42

Доброго всем времени суток! Существует одна проблема с кешированием: для выдачи на сайте ТВ-программы был написан модуль, который со своей задачей вполне справляется (сохраняет в куки выбранные юзером каналы и интересующий его временной диапазон), но для анонимов встала проблема - обновленную сетку с измененным списком каналов можно увидеть, только если уйти со страницы и перейти обратно. Сейчас пришлось отключить кеширование, т.к. нагрузка небольшая, но хотелось бы узнать - кто-то настраивал исключение одной страницы (генерируемой модулем) из кеша? Или возможно необходимо в модуле что-то дописать, чтобы дать понять ядру, что данную страницу не надо кешировать?
ЗЫ забыл добавить - с модулем Boost такой проблемы нет, но появляется иногда WSOD, поэтому пришлось оказаться.

Темизация Профиля

17 мая 2012 в 9:51

Генерация страницы профиля без Content Profile, как реализовал это я.
Изначальная задача предусматривала создание профиля на базе 3-х колоночного макета, слева - аватар, рейтинг и список друзей, в центре закладки с базовой информацией о пользователе, включающей в себя информацию о дате регистрации, дне рождения, интересы и т.п., а также несколько последних фотографий, загруженых пользователем, несколько последних записей в блог, в также последние коллекции пользователя (аналог обычных папок в ПК).

Таблица cache_form

27 апреля 2012 в 7:04

Если ваша таблица cache_form со временем стала расти и очистка не происходит (что наблюдается достаточно часто, в связи с известным багом), то есть вариант установки патча, либо просто добавьте в конец cron.php следующую строку:
db_query("DELETE FROM cache_form where 'expire' < UNIX_TIMESTAMP();");
Произойдет удаление из default-базы всех просроченных записей с данными кэша. Соответственно, настраиваем крон и забываем о проблеме. Плюс не зависим от патчей ядра.

Слияние двух баз.

23 апреля 2012 в 7:02
Избитая тема, но все-же вразумительного ответа пока не нашел. Чем перенести ноды с ССК-полями + словари с терминами с одного сайта на другой? Вручную - самый последний вариант, т.к. очень много нод + достаточно большое кол-во полей, и словари таксономии тоже объемные. Перенести нужно на сайт с еще большим кол-вом контента. Если я правильно понял, то для этих целей подходит модуль Migrate, который импортирует ноды вместе с полями. Установил его, но из органов управления присутствует только част, в которой можно запускать события:

Views: фильтрация и темизация в зависимости от двух Taxonomy Fields, работающих с одним словарем.

23 марта 2012 в 8:51

Здравствуйте, опишу в кратце с чем работаем: есть сайт, который был сдан на 80% готовности, после чего разработчик отказался продолжать работу и сдал в текущем виде, почти все доработки могу сделать своими силами, за исключением ниже описанной проблемы. Имеем словарь "Каталог"(фирм), в нем разделы и подразделы, для соответствующего деления компаний по видам деятельности, одна компания может принадлежать к нескольким разделам. У материала "Фирма" есть поле с выбором "оплаченное размещение/бесплатное размещение", соответственно во Views с аргументом "Таксономия: ID Термина", при сортировке в том числе по этому полю, мы получаем, что платное размещение выводится первым. Плюс анонс платной компании темизируется. Всё отлично, все работает.