stillfinder: Блог

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

Ошибки Drush в Drupal 8 и как их лечить

24 октября 2017 в 19:05
2

Если вы работаете с Drupal и видите ошибки при выполнении Drush команд похожие на эту:

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. Находим в конце файла следующие строки:

Search API Views пустое поле Excerpt

31 марта 2015 в 15:41

Доброго дня!

При создании поиска на сайте с использованием Search API + Views + Database search, столкнулся с такой проблемой - если добавить во view поле Excerpt (которое должно показывать часть ноды с подсвеченными ключевыми словами) показывает пустоту. То есть оно находит ноды, но именно поле Search: Excerpt остается пустое. Буду благодарен за любую подсказку/информацию.

Прокачиваем скорость разработки под Drupal с помощью Drush

2 октября 2014 в 22:46

Drush (от Drupal shell) — утилита с интерфейсом командной строки, созданная для управления и администрирования Drupal сайтов, доступна как и для Linux, Unix, Mac OS X, так и для Windows систем. Drush используется многими разработчиками, например, для скачивания/установки/удаления модулей, установки сайтов на Drupal, применении обновлений модулей в базе данных, бэкапа сайта и многого другого.

Drush позволяет очень сильно сэкономить время, когда нужно выполнить типичные задачи или автоматизировать часто выполняемые действия. Например, бэкап сайта, очистка кэша, восстановление сайта из бэкапа. Для того, чтобы пользоваться Drush - его сначала нужно установить. Итак, приступим.

Установка Drush

Mac OS X, Linux

Прокачиваем скорость разработки под Drupal с помощью Drush

2 октября 2014 в 22:44

Drush (от Drupal shell) — утилита с интерфейсом командной строки, созданная для управления и администрирования Drupal сайтов, доступна как и для Linux, Unix, Mac OS X, так и для Windows систем. Drush используется многими разработчиками, например, для скачивания/установки/удаления модулей, установки сайтов на Drupal, применении обновлений модулей в базе данных, бэкапа сайта и многого другого.

Drush позволяет очень сильно сэкономить время, когда нужно выполнить типичные задачи или автоматизировать часто выполняемые действия. Например, бэкап сайта, очистка кэша, восстановление сайта из бэкапа. Для того, чтобы пользоваться Drush - его сначала нужно установить. Итак, приступим.

Установка Drush

Mac OS X, Linux

Sublime Text 3 для Drupal разработчика

11 марта 2014 в 23:25

В ранее я писал как настроить Sublime Text 2 для Drupal разработчика. По многочисленным просьбам представляю Вашему вниманию аналогичную статью, но по настройке Sublime Text 3.
Итак, Вы скачали и установили Sublime Text 3.

Package Control

Первое, что нужно сделать - это установить Package Control. Для этого в активном окне Sublime Text 3 нажимаем комбинацию клавиш ctrl+` для вызова консоли и вставляем туда следующий код:
 

Программное создание и обновление полей типа field collection

5 февраля 2014 в 19:43

Field Collection - удобный модуль, который позволяет создавать составные поля, То есть поля, которые содержат внутри себя другие поля. Например, это может быть поле, состоящее из двух разных полей - термина таксономии и числовое поле. В этой статье мы поговорим о программном создании экземпляров field collection добавлении их к ноде, а также, о программном редактировании Field Collection в Drupal.

Sublime Text 2 для Drupal разработчика

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

Многим людям очень нравится редактор кода Sublime Text 2. Некоторые просто фанатеют от него, другие не очень хвалят. В этой статье я попробую оценить полезность данного инструмента для Drupal разработчика со своей субъективной точки зрения.

  1. Установим Sublime. Для этого перейдем на http://www.sublimetext.com/2, выберем подходящий для нас дистрибутив, скачаем и установим. Здесь вроде все стандартно

Временное сохранение массива на стороне сервера для формы с 2-я ajax сабмитами

6 сентября 2013 в 11:14

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

Сама форма

<?phpfunction bublesort_form($form, &$form_state) {
    $form=array();
    
    $form['result'] = array(
        '#title' => 'Result',
        '#description' => 'decs.',
        '#prefix' => '<div id="canvas_result_div">', 
        '#suffix' => '</div>', 
    );
    
    $form['shuffle'] = array(
        '#type' => 'submit',?>

Временное сохранение массива на стороне сервера для формы с 2-я ajax сабмитами

6 сентября 2013 в 11:10

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

Сама форма

<?phpfunction bublesort_form($form, &$form_state) {
    $form=array();
    
    $form['result'] = array(
        '#title' => 'Result',
        '#description' => 'decs.',
        '#prefix' => '<div id="canvas_result_div">', 
        '#suffix' => '</div>', 
    );
    
    $form['shuffle'] = array(
        '#type' => 'submit',
        '#value' => t('Shuffle'),
        '#name' => 'shuffle',?>

Добавляем перечеркнутое поле старая цена в Ubercart Views (Drupal).

28 декабря 2012 в 18:50

Итак задача: у нас есть вывод материалов типа уберкартовский продукт, и нам нужно добавить перечеркнутое поле с текущей ценой (старая цена), а вместо цены вывести старое значение - 12%. То есть у нас в шопе все как бы подешевело на 12% и мы доносим это все нашим клиентам. Приступим.

Чтобы отнять от числа какой-то процент, пользуемся следующей формулой:
n-p%=n*(1-p/100)
Для 12% (Х-12%):
Х-12%==Х*(1-12/100)==Х*0.88

Изменяем внешний вид элементов формы с помощью jqTransform

23 декабря 2012 в 16:10

Допустим нас достал тот факт, что внутренние элементы формы выглядят чересчур стандартно, и нам захотелось изменить внешний вид элементов формы, сделать элементы формы красивыми, интересными и привлекательными, сделать интересные селекты, чекбоксы и другие элементы. Для того, чтобы улучшить внешний вид форм быстро и без особых забот нам на помощь приходит библиотека jqtransform.

Для начала скачиваем библиотеку вот здесь http://stillfinder.net/sites/default/files/jqtransform.zip или идем в гугль и ищем где можно скачать

Далее содержимое архива заливаем сюда /sites/all/themes/Ваша_тема/js/
Структура папок такая /sites/all/themes/Ваша_тема/js/jqtransform/jqtransformplugin/ - папка jqtransformplugin в папке jqtransform

Вывод комментариев и формы комментариев в блоке

17 ноября 2012 в 16:58

Бывает, что нужно вывести комментарии и форму их добавления в отдельном блоке, например, для вывода комментариев в табах quick tabs. Итак приступим

Создаем Views типа комментарии. В этом views создаем дисплей типа Блок. В нем вывод полей содержимого и заголовков комментариев.

Комментарий: Заголовок
Комментарий: Содержимое

В аргументах указываем следующее:
Комментарий: Nid
Подставим аргумент Nid "по умолчанию", PHP-Код и туда вписываем:
$path = $_GET['q'];
$path = explode('/', $path);
return $path[1];

В подвале нашего виевс выводим форму добавления комментариев. Для этого пишем туда следующий php код:
<?php
$path = $_GET['q'];
$path = explode('/', $path);
$nid_comment = $path[1];

$formComment = drupal_get_form('comment_form', array('nid' => $nid_comment ));

Zen - Создание субтемы

17 ноября 2012 в 16:56

Вот иногда бывает просят тебя подправить сайт, который делал кто-то другой, ты открываешь, и радуешься: там тема Zen или что-то подобное. Все сделано через жопу. Ребята даже субтему не научились делать, а просто начали тупо вносить правки в код Zena. Кто-то другой, модератор сайта, или мАНАГЕР какой-нибудь, или горе-программер, взяли и зашли в админку, увидели что друпал хочет обновить тему. Скачали новую версию зена, залили, и пришел пиздец сайту. Вот чтобы этого не было, маленькая инструкция для тех, кто взялся делать темы на Zen или аналогах.

Drupal XmlRpc Date Api Services. Решение проблемы с глюками.

16 мая 2011 в 14:32

Немного помучившись с отправкой поля типа дата через xml-rpc на друпаловский сайт из программы на C# было найдено такое решение:

XmlRpcStruct node = new XmlRpcStruct();

string field_exclusive_date_to = "10.05.2024 0:00:00";
DateTime dtfield_exclusive_date_to = DateTime.Parse(field_exclusive_date_to);
AddArrayDateToNode("field_exclusive_date_to", dtfield_exclusive_date_to, node);

///
/// Добавляет в ноду поле с датой (Drupal Date)
///
///
///
///
/// Нужно написать в блоге каком то как это делать, ато все ебуться и никто еще не нашел.
private static void AddArrayDateToNode(string fieldname, DateTime dt, XmlRpcStruct node)
{
XmlRpcStruct sMainDate = new XmlRpcStruct();
XmlRpcStruct sDate = new XmlRpcStruct();
sDate["year"] = dt.Year.ToString();
sDate["month"] = dt.Month.ToString();
sDate["day"] = dt.Day.ToString();
sMainDate["value"] = sDate;
object[] oDate = new object[] { sMainDate };
node[fieldname] = oDate;
}

Все дело в том, что на Drupal сайте Date Api хранит дату немного не в том формате в котором отображает. Следовательно получение и отправка поля CCK типа Date будет сильно различаться.

Источник: http://stillfinder.blogspot.com/2011/05/drupal-xmlrpc-date-api-services....

Ошибка при попытке использовать file.get в модуле services во время обмена по протоколу xml-rpc

16 мая 2011 в 14:23

Здравствуйте!
Пишу на C# программу, которая сможет обмениваться с Drupal сайтом посредством xml-rpc протокола(модуль services) и столкнулся со следующей проблемой: при попытке использовать file.get возвращается ошибка 401, доступ запрещен. Хотя в правах повыставлял уже все что нужно и ненужно. Возможно кто-то работал с модулем services или у кого-то есть соображения по поводу решения данной проблем.
Заранее благодарен за ваши советы.