Как обновлять Drupal (пошаговая инструкция)
Начнем с того, что скачиваем новую версию drupal 7 (http://drupal.org/project/drupal), распаковываем и читаем UPGRADE.txt. Собственно, там и написано, как обновить Drupal в рамках одной мажорной версии, правда на английском языке. А написано вкратце следущее:
1. Залогиниться с правами на «Administer software updates».
2. Поставить сайт в режим обслуживания
Administration > Configuration > Development > Maintenance mode, галочка на режим обслуживания.
Там же делаем резервную копию базы данных и папки с сайтом.
3. Удаляем папки и файлы — все, кроме sites.
Инструкция требует удалить все файлы и папки, кроме sites. Но если вы модифицировали какие-либо другие файлы, эти изменения необходимо будет внести заново после обновления. Напомню, что для новых модулей и тем есть папки modules и themes в sites/all, куда вы и должны были ставить все дополнительные модули и темы. .
Результат данного этапа обновления друпал 7: Сайт убит. Данные сохранены. Папка sites не тронута.
4. Залить новые файлы
Скачать и распаковать последнюю версию друпал, скопировать эти файлы вместо старых, кроме папки sites, ее по прежнему не трогать. Делать это лучше будучи прямо на сервере или через ssh, или через подключение к удалённому рабочему столу, если у вас не дай бог Windows в качестве сервера :).
5. Повторно произвести ваши модификации ядра друпал, если вы вносили в них изменения.
В большинстве случаев это будут .htaccess и robots.txt. Иногда в новых версиях друпал будут появляться изменения в settings.php, об этом уведомляют в примечаниях к версии. Нужно внести эти изменения вручную.
6. Запускаем update.php, не выходя из админки
/admin/reports/status — находим рекомендацию обновить БД. update.php при запуске ещё раз ненавязчиво напоминает о необходимиости резервного копирования. Следуем пошаговым рекомендациям и обновляем базу данных.
В случае возникновения любых ошибок очень настойчиво рекомендуется откатится назад из резервной копии, не в коем случае нельзя игнорировать ошибки обновления, они могут сказаться на работе сайта.
Если вдруг по каким-либо причинам вы не имеете доступа к update.php, то достаточно в settings.php вписать строку «$update_free_access = TRUE;» так можно обновляться даже не будучи залогиненым. После обновления эту строку ОБЯЗАТЕЛЬНО удаляем.
Включаем сайт для посетителей. Должно работать.
Если не работает, откатываемся к сохраненной версии и пробуем обновить ее заново (дабы все же понять, как это правильно делается), или сносим сайт полностью (при условии, что все бекап файлы у вас на компьютере имеются), устанавливаем новую версию друпал, заменяем девственно-новую базу данных на вашу бывалую старую, логинимся, идем в отчеты о состоянии и обновляем базу данных.
И что радует, в седьмой версии друпал более автоматизировано обновление модулей, чем в шестерке. Заходим в отчеты — доступные обновления, вкладка «обновить», ставим галки, жмем скачать, следуем инструкции.
Drupal → Как с помощью AJAX обновить ВСЮ форму
Смотря что такое автосабмит, если зависимые селекты, то там уже есть событие change.
Если текстовые поля, то достаточно навесить ajax обработчик на событие «blur»
Спасибо за Вашу статьи очень помогает.
Вопрос: КАК обновить всю страницу по изменению значения textfield в форме?
Имеем функцию, выводящую форму в блоке:
function mymodule_block_view($delta)
и, собственно, форму с автосабмитом:
function mymodule_test_form($form, &$form_submit) < $form['sort-box'] = array( '#title' =>t('Sort by'), '#type' => 'select', '#options' => array('' => t('Default'), 'pr_low' => t('Price: lowest'), 'pr_high' => t('Price: higest'), 'title_a_z' => t('Title: A-Z'), 'title_z_a' => t('Title: Z-A')), '#default_value' => '', '#attributes' => array('class' => array('sort-crit'), 'onchange' => 'this.form.submit()'), ); return $form; >
резульаты выбора опций из формы переопределяют вывод зависимых значени вьюхи посредством функции:
function mymodule_views_query_alter( &$view, &$query )
Пытаюсь прикрутить к данной форме AJAX:
function mymodule_test_form($form, &$form_submit) < $form['sort-box'] = array( '#title' =>t('Sort by'), '#type' => 'select', '#options' => array('' => t('Default'), 'pr_low' => t('Price: lowest'), 'pr_high' => t('Price: higest'), 'title_a_z' => t('Title: A-Z'), 'title_z_a' => t('Title: Z-A')), '#default_value' => '', '#attributes' => array('class' => array('sort-crit'),), '#ajax' => array( 'callback' => 'mymodule_views_query_alter', 'event' => 'change', ), ); return $form; >
Визуально наблюдаю крутящийся кружок работы AJAX, но результаты формы не меняются.
Подскажите, что не так, ибо с автосабмитом форма работает отлично, но только после перезагрузки страницы соответственно?!
ajax callback должен возвращать набор команд или часть формы
Пробовал ставить методом «научного» тыка ‘callback’ => ‘mymodule_test_form’ и ‘callback’ => ‘mymodule_block_view’ . более вроде нет зависимых от результатов выбранных в форме опций функций, однако форма никак не хочет работать также как с простейшим автосабмитом на javascript (this.form.submit()).
Может поделитесь хотябы ссылкой где копать в данном направлении, ведь задача вроде бы банальная, но что-то сути я не улавливаю..
Спасибо за ссылку, почитал, проработал примеры, понял что callback вызывает специально созданную дополнительную функцию, которая с помощью return возвращает результат, будь то та же форма или что-то другое, причем выбранную опцию можно получить по $_POST, и этот результат вставляется в место указанное wrapper.
Но, к сожалению, так и не понял как это связать с моим views_query_alter.
Видно не судьба.
Alex Milkovsky
Привет,
если нужно во время клика на кнопку button удалить элемент с формы и одновременно удалить запись с базы, то обработку и запрос db_delete тоже в теле формы mymodule_test_form() писать? Может я не правильно что то понял, почитал как было описано тут http://xandeadx.ru/blog/drupal/387
При обновлении формы заметил одну неприятную вещь.
А именно, если есть форма с тремя элементами SELECT (например, список стран, список регионов по данной стране и список населенных пунктов по данному региону) и при обновлении первого элемента (выборе новой страны) должен автоматически обновляться и устанавливаться в значение по умолчанию список регионов и список населенных пунктов.
В общем, списки обновляются, значения по умолчанию правильно вычисляются, но почему-то не устанавливаются. Пытаюсь устанавливать значения с помощью #default_value.
Вы не знаете, в чем могут быть проблемы ?
Василий Лукасевич
Для Drupal 8 разве не нужно ещё $form_state->setRebuild(); ?
Как обновить drupal вручную
Написать в поддержку

Помощь онлайн

Проверить домен

Войти Валюта:
Drupal 7: как русифицировать модуль

06 июня

2817

Комментариев: 0
Помимо русификации Drupal вам также может понадобиться перевод модулей. Для этих целей вам понадобится расширение Localization update. Скачайте и установите модуль, а затем перейдите в раздел “Конфигурация” → “Регион и язык” → “Перевод интерфейса” и откройте вкладку “Обновить”. Нажмите “Проверить вручную” и система автоматически подберет обновления для модулей. После нажмите “Обновить переводы”:

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

Также рекомендуем почитать:
Drupal 7: как сгруппировать модули в админпанели Drupal 7: как установить и настроить карту сайта Drupal 7: как сгруппировать модули в админпанели Drupal 7: как создать анимацию загрузки Drupal 7: как установить форму обратной связи Drupal 7: как добавить ссылку на сайт при копировании контента Drupal 7: как изменить шаблон
- Блог
- Хостинг, домены, мировые новости, обзоры ПО
- Рейтинги, обзоры, отзывы
- Наши новости, акции, нововведения
- Руководства, статьи, инструкции
- RSS
Популярное в категории


Июнь

77749


Июнь

68331


Октябрь

56078


Март

44433


Сентябрь

37620
Как обновить Drupal 8 до последней версии

Одним из самых важных аспектов технического обслуживания сайтов на Drupal 8 является поддержка актуальности ядра и моделей системы. С выходом новой версии Drupal 8, у пользователей возникают вопросы по правильному обновлению Друпал 8 до актуальной версии.

Как обновить Drupal 8 до последней версии. Фото drupalize.me
Одним из самых важных аспектов технического обслуживания сайтов на Drupal 8 является поддержка актуальности ядра и моделей системы. С выходом новой версии Drupal 8, у пользователей возникают вопросы по правильному обновлению Друпал 8 до актуальной версии.
Обновление не сильно отличается от 7-ой версии, однако в 8 версии есть свои особенности.
Процесс обновления Drupal 8 до актуальной версии 8-x-x:
1. Перед обновлением системы обязательно создавайте резервную копию сайта и базы данных MySQL, а также файлов robots.txt, .htaccess (если вы вносили в них изменения), чтобы заранее избежать непредвиденные ошибки обновления.
2. Под учетной записью администратора переведите сайт в режим обслуживания (Конфигурация — Разработка — Режим обслуживания).
3. Скачайте с сервера drupal.org актуальную версию Drupal 8 и загрузите по FTP в корень вашего веб-сайта.
4. ВАЖНО. Удалите все папки и файлы, за исключением папок modules, sites, themes, libraries.
5. Распакуйте архив новой версии Drupal 8 в корневую папку вашего веб-сайта.
6. Запустите скрипт обновления с адресом website.com/update.php и выполните обновление базы данных этим скриптом.
7. Если обновление прошло удачно, то вы можете перевести сайт в режим «Рабочего состояния».
8. Если вы производили изменения в файлах robots.txt, .htaccess, то не забудьте добавить нужные строки в обновленные файлы.
