Как определить переменную Drupal с помощью phpmyadmin?


В соответствии с этой проблемой мне нужно установить drupal_weight_select_max на 1000 в моей установке Drupal. Он предлагает несколько методов:

  1. Используйте Drush (не вариант для меня, так как он находится на общем хостинге)
  2. Определите его в модуле (за пределами моего набора навыков)
  3. Определите его в settings.php (что, похоже, нарушает мой сайт. т.е. Сайт не загружается, и я получаю WSOD)

Если это можно сделать в phpmyadmin, не могли бы вы сказать мне на простом английском языке, шаг за шагом, как я могу это сделать?

 1
Author: Weezard, 2012-05-23

4 answers

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

  1. Загрузите и установите модуль разработки
  2. Перейдите к http://mysite.com/devel/php
  3. Поместите этот код в текстовое поле:

    variable_set('drupal_weight_select_max', 1000);
    
  4. Нажмите кнопку "Выполнить".

Если вы действительно хотите сделать это непосредственно в phpMyAdmin, вы можете получить покончим с выполнением одного запроса:

INSERT INTO variable (`name`, `value`) VALUES ('drupal_weight_select_max', 'i:1000;')
  ON DUPLICATE KEY UPDATE `name` = 'drupal_weight_select_max', `value` = 'i:1000;';

А затем очистите свои тайники.

 5
Author: Clive, 2013-06-29 10:17:07
  • найти табличную переменную
  • Проверьте, нет ли еще переменной (имя столбца)

    • да: отредактируйте его
    • нет: добавить новую запись
  • Новая запись:

    • имя: drupal_weight_select_max
    • значение: i:1000;
 0
Author: mojzis, 2012-05-23 23:32:47

Этот комментарий ближе к вашему, просто откройте phpmyadmin, найдите свою базу данных слева, нажмите кнопку SQL вверху и вставьте код SQL из комментария:

UPDATE variable SET value = 'i:1000;' WHERE name = 'drupal_weight_select_max';

Нажмите Выполнить .
Затем вы должны очистить свой кэш, для этого запустите очистку кэша в Drupal в разделе Производительность или выполните вручную:
Найдите Кэш таблицу, щелкните Операции и нажмите Очистить таблицу (УСЕЧЬ) ссылка.

Но вы должны быть уверены, что это переменная существует в таблице переменная . Для этого нажмите на таблицу Переменных, нажмите кнопку Поиск вверху, введите drupal_weight_select_max в Значение для Имени строки и нажмите Перейти.
Если таблица существует, достаточно запустить SQL или обновить расположенную строку (конечно, очистить кэш), в противном случае нажмите кнопку Вставить и введите значения, указанные в комментарии: drupal_weight_select_max, я:1000;
Для вставки очистка кэша не необходимость.

 0
Author: Nikit, 2012-05-23 23:33:52

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

function HOOK_form_system_site_information_settings_alter(&$form, &$form_state, $form_id) {

  $form['site_information']['fieldname'] = array(
    '#type' => 'textarea',
    '#title' => t('Field Title'),
    '#default_value' => variable_get('fieldname', ''),
    '#description' => t('Field description'),
    '#required' => TRUE,
  );

}

Что, возможно, было бы правильным способом добавления переменной по всему сайту.

 0
Author: Lomax, 2012-05-24 08:22:00