Модуль Особенности и блоки на Drupal 7
Я пытаюсь реализовать модуль Features на одном из моих сайтов в Drupal 7 для управления блоками. У меня есть пара вопросов, хотя. Во-первых, когда вы создаете новую функцию на исходном сайте, вы берете эту новую созданную функцию и помещаете ее в каталог модулей и включаете ее на исходном сервере И на конечном сервере или просто на конечном сервере?
Кроме того, мне интересно, как это работает, когда вы пытаетесь управлять блоками с тестового сервера и живого сервера, когда живой сервер является клоном теста. Другими словами, мы создаем тестовый сервер, создаем наш сайт, включающий контент и блоки, и когда он будет закончен, мы клонируем тест для жизни. Затем мы устанавливаем модуль функций на тест и создаем функцию, которая содержит ВСЕ наши пользовательские блоки. Когда я сделал это, переместил эту функцию на работающий сервер и включил ее, она была сразу же переопределена. Разве функции предназначены только для перемещения НОВЫХ блоков с одного сайта на другой и не предназначены для управления блоками, которые уже существуют на ОБАХ серверах? Должен ли я создать функцию, содержащую все блоки на тестовом сервере, а затем удалить блоки на работающем сервере, а затем включить функцию в прямом эфире, которая будет заполнять блоки в прямом эфире. Я просто не уверен, что что-то упустил или поступаю неправильно.
СПАСИБО
ОБНОВЛЕНИЕ: хорошо, я вырываю свои волосы здесь. Опять же, поэтому у меня есть два сайта - источник и пункт назначения. Пункт назначения был точным клоном источника. У меня есть три блока на обоих сайтах, которыми я хотел бы управлять с помощью функций. Итак, на исходном сайте я решил сначала протестировать только ОДИН блок. Сначала я отредактировал блок, чтобы он отличался от того, который был на сайте назначения. Затем я создал функцию, включающую настройки блока и блока (кстати, я использую дополнительные функции для этого), а затем я помещаю эту функцию на целевой сайт, и когда я активирую функцию, функция фактически НЕ переопределяется. состояние и изменения, которые я внес в блок на исходном сайте, отображаются на целевом сайте без проблем. ОДНАКО, если я попытаюсь добавить два других блока сейчас к этой функции на исходном сайте, воссоздать ее и экспортировать на целевой сайт, функция на целевом сайте теперь находится в переопределенном состоянии, что нормально, но неважно Сколько раз я "возвращал" функцию, чтобы вывести блоки из дБ в код, она НЕ будет выходить из переопределенного состояния. Я очистил кэш, отключил эту функцию и снова включил ее, и попытался вернуть ее обратно, и она застряла как переопределенная, и я не вижу изменений в двух других сделанных мной блоках. Тогда я подумал, может быть, это потому, что я делаю три блока одновременно. Затем я сам взял блок JUST два и создал для него функцию, поместил ее на целевой сайт, и он застрял в переопределенном состоянии. То же самое относится и к блоку № 3. Блок № 1 сам по себе в порядке и не застревает в переопределенном состоянии. Это просто блок № 2 и три. Насколько я могу судить, все три блока были созданы одинаково точно и не имеют каких-либо других настроек в отношении ролей, страниц и т. Д. Я уверен, что поставлен в тупик.
1 ответ
Комментарий не позволяет так много сообщений в журнале, поэтому отправлять как ответ.
Я не могу сказать много, не имея точной проблемы. Но так работает функция. Вы должны внести изменения в исходный сайт. затем создайте особенность этих изменений. Теперь на сайте назначения вы должны включить эту функцию. Если у вас уже есть эти изменения на целевом сайте, функция будет отменена, вы отмените ее и получите изменения.
Как вы сказали, вы добавили в функцию два других блока, но вы ничего не изменили в этих блоках, поэтому они уже находятся на целевом сайте. вот почему функции в переопределенном состоянии. когда вы возвращаетесь, он действительно изменяется, но иногда он не меняет состояние (admin/structure/features/).
Я не знаю ваших точных требований, но я думаю, что вы должны изменить внесенные изменения на исходном сайте, а затем выбрать их в функции и включить на конечном сайте.