Настройки отображения представлений находятся в базе данных, но не отображаются в пользовательском интерфейсе представлений
Я пытаюсь создать копию живого сайта и использовать его в качестве тестового сайта, но у меня проблемы с представлениями. Есть представление, настройки которого находятся в базе данных, но неправильно отображаются в пользовательском интерфейсе представлений.
Я скопировал сайт, (1) установив Drupal, (2) установив необходимые модули, включая некоторые пользовательские функции, и (3) экспортировав базу данных с действующего сайта и импортировав ее на тестовый сайт.
Рассматриваемый вид определен в объекте, и также существует в таблицах views_view
и views_display
в базе данных. Я не отменял эту функцию, поэтому я считаю, что код функции следует игнорировать в пользу того, что есть в базе данных.
В любом случае, как в базе данных, так и в функции, представление имеет добавленное отображение с некоторыми настройками, которые переопределяют отображение по умолчанию. Например, добавленный дисплей имеет заголовок: PHP-код, который переопределяет заголовок дисплея по умолчанию: Нет. В пользовательском интерфейсе представлений добавленный дисплей существует, но, за исключением для имени все его переопределенные настройки, отношения, аргументы, поля и фильтры исчезли. То же самое относится и к некоторым другим дисплеям в представлении. Один дисплей потерял свои связи, аргументы и критерии сортировки, но не свои поля и фильтры.
Я попытался очистить все кэши (drush cc all
), очистить кэш представлений (Администратор > Создание сайта > Представления > Инструменты) и удалить все строки из таблицы views_object_cache
. Не помогло.
3 answers
FWIW - возможно, вы захотите установить drush и использовать команду drush archive-dump, которая извлечет весь ваш сайт (базу данных, экземпляр drupal и файлы) в один архивный файл. Затем вы можете использовать drush archive-restore для импорта этого сайта на другой сайт на той же или другой машине.
Конечно, есть и другие способы, но это, кажется, один из самых простых, так как не о чем вспоминать или думать, кроме как делать это.
Удачи - B
Memcache кажется возможным купритом. Попробуйте очистить кэш memcache вручную. Drupal, как правило, не любит редактирование БД и может не понимать, как запрашивать фактическую БД, но вместо этого получает значения из Memcache.
/etc/init.d/перезапуск памяти в памяти
Проблема оказалась в разрешениях.
Действующий сайт работал в 64-разрядной системе, а тестовый сайт работал в 32-разрядной системе. Это привело к серьезному нарушению прав администратора на тестовом сайте, потому что role_export не поддерживал 32-разрядные системы. Как только я исправил разрешения (обновив MAMP до 64-разрядной версии), представления работали должным образом.