Как скрыть содержимое узлов /полностью и все еще поддерживать использование в Drupal?

Итак, чтобы начать, я видел:

Все ответы на эти вопросы заставляют предложение сделать узел неопубликованным, что было решением, которое выглядело мне самым чистым, учитывая, что я делаю некоторые типы контента просматриваемыми исключительно со слайд-шоу, т. е. имея www.mysite.com/node/40, показывающий список всех необработанных изображений, которые составляют мое слайд-шоу в блоке в другом месте, не было чем-то, что я хотел. Я хочу, чтобы изображения отображались только в контексте слайд-шоу.

Однако, когда я следил за этими ответами и делал содержимое узла неопубликованным, содержимое было недоступно для слайд-шоу. Вид: теперь он был пустым для анонимных зрителей. Есть ли что-то, что я пропустил в том, как сделать узел неопубликованным, но все же разрешить доступ к его содержимому через Views, как блок?

Я хочу сделать это без использования параметров htaccess, hooks или javascript, которые я видел в приведенных выше ссылках.

Я не могу себе представить, что наличие списка контента, доступного нагорно под nodes/123, на самом деле является преднамеренной функцией.

Еще одна квалификация, которая делает эту сложную проблему --- существуют способы предотвращения доступа к node/123, но они также могут препятствовать ваша собственная способность создавать или редактировать узлы!

7 голосов | спросил Mittenchops 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 17 Sep 2011 00:39:35 +0400 2011, 00:39:35

1 ответ


0

EDIT: NEVERMIND, ЭТО НЕ РАБОТАЕТ!

Я обнаружил, что любые правила доступа, которые я мог бы добавить, чтобы позволить администратору создавать и редактировать контент, потому что редактирование содержимого происходит под «/node /add /...», также отключено ограничение доступа анонимного пользователя и позволяет всем пользователям видеть содержимое. Вид назад, где я начал, но оставив это на случай, если это поможет кому-то еще увидеть путь. Оригинальный ответ следует:

ОК, вот рецепт, чтобы достичь этого не программным способом, так просто, как я мог (объяснение причины следует):

  1. Включить модуль диспетчера страниц (часть ctools), установить и включить модуль перенаправления диспетчера страниц: http: //drupal.org/project/page_manager_redirect .
  2. В меню администратора перейдите в Structure>>> Страницы
  3. В приведенной ниже таблице укажите пользовательскую страницу «System node_view Node template /node /% node» и нажмите «edit» справа.
  4. Для меня у меня была по умолчанию «Основная страница» и «Storyauthors». Я ударил disable на обоих из них (но вы можете сохранить их, если вы используете эти функции --- я не).
  5. Нажмите «Добавить вариант»
  6. Заголовок: «перенаправление на главную». Тип варианта: «Код ответа HTTP». И отметьте «Правила выбора». Нажмите «Создать вариант».
  7. Теперь добавьте правила выбора.
    7. А. В раскрывающемся списке перейдите к «user: Role», нажмите «Добавить». > > НЕ (зарегистрированный пользователь имеет роль «администратор»)
    7.b. Добавить другое правило выбора>>> узел: тип. Щелкните каждый тип контента, для которого вы не хотите, чтобы пользователь мог видеть обнаженные узлы. Затем нажмите NOT. Для меня, поскольку я никогда не хочу видеть обнаженные узлы, я щелкнул каждый тип контента, который у меня есть.
  8. Установите код ответа HTTP на 301 и оставьте перенаправление пустым (= до основного).

Обоснование:

  • Я пошел по этому маршруту вместо htaccess или создавал модули, потому что это похоже на проблему, которая должна быть доступна для исправления в интерфейсе. Опять же, я не верю, что группа будет требовать, чтобы все содержимое отображалось под узлами /, пронумеровано, если это не было поведением по умолчанию.
  • Что касается правил выбора: первый для администратора (или любой группы на уровне редакции) гарантирует, что вы все равно сможете создавать и редактировать контент! Если вы оставите это, при попытке добавить новый контент, вы будете перенаправлены на главную. Второй, о типах содержимого, был необходим, чтобы просматривать страницы под их псевдонимом URL. Без этого проверено, когда я щелкнул, скажем, в сообщениях в блоге, я не смог просмотреть их на полной странице, только их тизеры. Не знаете, почему это было так, или почему мне нужно было делать отрицательные разрешения здесь, а не положительные разрешения. Но это то, что я должен был изменить, чтобы позволить редакторам редактировать, и анонимные зрители для просмотра форматированных типов контента, а не node /.

Потенциальные ловушки:

Если вы создаете новый тип контента, вам нужно помнить о возврате в диспетчер страниц и его обновлении (т. е. установите флажок во втором правиле выбора).

Будущее улучшение:

Если кто-то действительно классный, он сделает один модуль, который автоматически выполнит этот процесс, и назовите его «Скрыть узлы». =) Опять же, я хочу, чтобы скрыть «nodes /» было поведение Drupal по умолчанию, и я уверен, что я не единственный. Я действительно рассматриваю их как зону постановки и сбора данных. Кажется очень странным, чтобы они были видимыми для публики. Это похоже на то, как волшебник засунул голубей в рукава!

Благодаря тому, что Chance G указал на меня там, и Johan Falk's учебник для меня!

EDIT: UPDATE

Из вышеизложенного я скажу, что ответ на этот вопрос заключается в том, что это невозможно. Вы застряли в узлах!

ответил Mittenchops 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 18 Sep 2011 18:31:46 +0400 2011, 18:31:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132