Как изменить URI термина в зависимости от типа контента


У меня есть 2 типа контента (фотографии, видео), и оба имеют ссылку на таксономию "тема". Термины темы отображаются на страницах отображения узлов, и я хотел бы сослаться на "/фото/%" для фотографий и "/видео/%" для видео вместо "/таксономия/термин/%" по умолчанию.

Как я могу это сделать?

Author: uwe, 2012-01-03

4 answers

Эта проблема сложна, если реализована способом, предложенным в вопросе. С pathauto это становится проще, если вы используете два отдельных словаря: video_topic и photo_topic. Затем у video_topic могут быть пути pathauto, которые начинаются с видео/%, а у фотографий могут быть пути, которые начинаются с фото/%.

Учтите: если вы используете один словарь, то при нажатии на ссылку видео/% будут показаны как видео, так и фотографии. То же самое с фотографией/%. Если это то, чего вы хотите, то, возможно, путь, который вы следует использовать должно быть тема/% вместо видео/% и фото/%. Если вы действительно хотите, чтобы результаты отображались отдельно, то, безусловно, следует использовать отдельные словари.

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

 2
Author: greg_1_anderson, 2012-01-08 21:46:53

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

  1. Установите и включите Менеджер страниц , а также Панели
  2. Перейдите в раздел администратор/структура/страницы/добавить и добавьте страницу с путем видео/%video_term
  3. На следующей странице нажмите "Изменить" и выберите "Термин таксономии: идентификатор", затем выберите идентификатор или имя, как вам подходит.
  4. Выберите любой макет и просто двигайтесь дальше, пока не сможете нажать "Готово", чтобы завершить работу мастера. Теперь заполните свой макет любым контентом, который вы пожелаете.
  5. Повторите шаги 1-4 для вашей страницы "фото".

Поскольку Drupal не позволяет вам использовать переменную в на первом уровне вы не можете использовать /%content_type/% термин, поэтому вместо этого мы создаем две страницы. Лично я бы предпочел сделать что-то вроде /products/%content_type/%term, так как одна страница снизит вашу нагрузку на обслуживание в будущем. Это, однако, потребует понимания "Вариантов", чтобы вместить две страницы в одну. Видео объяснит это.

 5
Author: Letharion, 2012-01-09 02:51:32

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

Http://drupal.org/project/pathauto

Просто убедитесь, что при установке шаблона он не перекрывается с шаблоном, который вы установили для другого типа контента.

 1
Author: commercebythegraceofgod, 2012-01-03 02:35:36

В Drupal 6 я сделал это с помощью модуля pathauto, и быстрый взгляд на код Drupal 7 предполагает, что он работает и там. В D6 вы переходите к admin/build/path/pathauto и выбираете Taxonomy term paths и меняете его на то, что хотите, чтобы что-то подобное работало в D7.

 1
Author: Jimajamma, 2012-01-03 02:39:43