Настройки отображения представлений находятся в базе данных, но не отображаются в пользовательском интерфейсе представлений


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

Я скопировал сайт, (1) установив Drupal, (2) установив необходимые модули, включая некоторые пользовательские функции, и (3) экспортировав базу данных с действующего сайта и импортировав ее на тестовый сайт.

Рассматриваемый вид определен в объекте, и также существует в таблицах views_view и views_display в базе данных. Я не отменял эту функцию, поэтому я считаю, что код функции следует игнорировать в пользу того, что есть в базе данных.

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

Я попытался очистить все кэши (drush cc all), очистить кэш представлений (Администратор > Создание сайта > Представления > Инструменты) и удалить все строки из таблицы views_object_cache. Не помогло.

Author: bobmct, 2012-03-22

3 answers

FWIW - возможно, вы захотите установить drush и использовать команду drush archive-dump, которая извлечет весь ваш сайт (базу данных, экземпляр drupal и файлы) в один архивный файл. Затем вы можете использовать drush archive-restore для импорта этого сайта на другой сайт на той же или другой машине.

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

Удачи - B

 0
Author: bobmct, 2012-03-27 18:53:57

Memcache кажется возможным купритом. Попробуйте очистить кэш memcache вручную. Drupal, как правило, не любит редактирование БД и может не понимать, как запрашивать фактическую БД, но вместо этого получает значения из Memcache.

/etc/init.d/перезапуск памяти в памяти

 0
Author: red, 2012-03-27 19:33:56

Проблема оказалась в разрешениях.

Действующий сайт работал в 64-разрядной системе, а тестовый сайт работал в 32-разрядной системе. Это привело к серьезному нарушению прав администратора на тестовом сайте, потому что role_export не поддерживал 32-разрядные системы. Как только я исправил разрешения (обновив MAMP до 64-разрядной версии), представления работали должным образом.

 0
Author: , 2012-03-31 02:33:19