Предлагаю решение

Кэш в Drupal от А до Я

30 октября 2015 в 17:05

Введение

Страницы сайтов становятся всё больше по размеру, и встаёт вопрос асинхронной загрузки контента на них. Но если для изображений существует библиотека для их простой загрузки после загрузки основной страницы, то с асинхронной загрузкой HTML частей страницы (блоков), всё намного сложней. Например: для реализации асинхронной загрузки блоков в Drupal без потери производительности сайта необходимо понимать, как работает кэширование, как его использовать и как оптимизировать. А уже после реализовать по намеченному плану «Lazy Loading» загрузку блоков сайта.

Кэш в Drupal — введение

Лайфхак: Повышение производительности кликальщика

26 октября 2015 в 14:45

Часто в формах Друпала нужно поставить/убрать одну галочку. А потом прокрутить вниз и щелкнуть по кнопке.
Мой палец устал ласкать колесико и я сочинил лайфхак в одну строчку:

Настройка очереди отправки писем по smtp-протколу

12 октября 2015 в 22:31

Вряд ли кому будет интересно. Оставлю для себя любимого, как напоминалку.
Те, кому есть что сказать по поводу того, что я наворотил,
в этой теме приветствуются. Собственно, все что здесь написано,
в том или ином виде присутствует на этом ресурсе, это всего лишь попытка
разложить все по полочкам в моей голове. Кому не интересно, прошу отнестись
снисходительно, как к бормотанию сбрендившего друпалоида.

Для отправки клиенту, открывшему заказ, сообщения по электронной почте,
был установлен модуль SMTP Authentication Support
И настроена отправка через почтовый сервер провайдера хоста (ru-center).
Ну вы уже поняли. Письма уходили через раз.
Чаще вываливались сообщения типа "Невозможно отправить письмо..."

сайт тормозит из за глюков виджета одноклассников

8 октября 2015 в 23:36

Сегодня столкнулся с проблемой: сайт очень долго грузился и прорисовка странички начиналась только после окончания загрузки.
Причина оказалась в следующем: на сайте был вставлен виджет одноклассников и сегодня у этой соцсети были проблемы доступа. и пока рзился их скрипт страничка не отрисовывалась.
Выход прост нужно обернуть код виджета в window.onload:

оригинальный код виджета:

Как программно создать рассылку и отправить ее подписчикам с помощью модуля simplenews

21 сентября 2015 в 20:19

Давненько в одном из проектов понадобилось при наступлении определенного события создавать выпуск рассылки со списком материалов, и сразу же отправлять его подписчикам. Возможно, кому-то пригодится решение для модуля рассылок Simplenews:

<?php

$desc

='На сайте доступен новый материал: <a href="'.$GLOBALS['base_url'].'/node/'.$node->nid.'">'.$node->title.'</a>';
$edit = new stdClass();   /* Создаём объект node */
$edit->type 'simplenews';    /* Указываем тип материала */
node_object_prepare($edit);  /* Подготавливаем объект ноды  */        
$edit->title 'Новый материал: '.$node->title;   /* Заголовок */
$edit->language LANGUAGE_NONE;

$edit->body[$edit->language][0]['value'] = $desc;
$edit->body[$edit->language][0]['summary'] = '';?>

Добавляем на сайт на Drupal социальные кнопки UpToLike

2 сентября 2015 в 13:10

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

Для начала пару слов про UpToLike. У него есть все функции, которые нужны вебмастеру от социальных кнопок:

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

Особенности UpToLike:

Оформление кликабельных картинок в Drupal или как вставить вспомогательный тег внутрь поля с картинкой image_style

30 августа 2015 в 17:04

Задача: При наведении курсора мыши на картинку над этой картинкой должна появляться лупа (или другой элемент оформления), указывающая на то, что по картинке можно щелкнуть. Обязательным условием является то, что поле с картинкой формируется с использованием стиля (вида) изображения.

Решение 1. Изменить картинку курсора (решение не рассматривается, см. Google).
Решение 2. При помощи javascript добавить внутрь ссылки (рядом с тегом картинки) вспомогательный тег (решение не рассматривается, см. Google).

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

Темизация пагера в Drupal 7 - Изменить ссылки "первая", "предыдущая", "следующая" "последняя"

26 августа 2015 в 11:24

С темизацией пагера все вроде понятно, если не обращать внимание на неконструктивную брань одной из релевантных по мнению Google русскоязычных статей http://www.drupal.ru/node/71260 . Все, что нужно, описано в документации https://api.drupal.org/api/drupal/includes!pager.inc/function/theme_pager/7 .

У меня возникла задача заменить на всем сайте в пагере "« первая", "‹ предыдущая", "следующая" "›последняя »" соответственно на строки "<<", "<", ">", ">>".

Решение 1. Изменить переводы строк "« first", "‹ previous", "next ›", "last »" на странице admin/config/regional/translate/translate . Недостатком является то, что при автоматическом обновлении переводов, все может сломаться. И вообще не совсем это хороший примем, на мой взгляд, когда есть мощный инструмент темизации.

Drupal 7. Замена строк (текста) по-умолчанию, не используя систему перевода.

3 августа 2015 в 12:39


Методы

  1. Редактирование settings.php
  2. Модуль String Overrides
  3. Использование hook_boot()

Метод 1: Редактирование settings.php

Плюсы

  • Быстрый метод для небольшого количества строк.
  • Менее доступен в тех случаях, когда вы хотитесохранить некоторый контроль даже после предоставления прав администратора.

Минусы

  • Работает только для английского.
  • Нету административных страниц, необходим доступ к серверу (FTP / SFTP / SSH). Сложно управлять изменениями не разработчикам.

Процедура

  1. Открываем на редактирование файл settings.php,
  2. Находим в конце файла следующие строки: