Как получить говорящие URL-адреса для новостей 7.0.7 на Typo3 9.5.0

Мне очень нравится легкость, с которой Typo3 9.5.0 создает говорящие URL-адреса.

Единственная проблема, которая у меня есть, - заставить его работать с расширениями, такими как новости. Не могу найти способ заставить его работать и понятия не имею, с чего начать. Ценю вашу помощь.

С наилучшими пожеланиями Дэн

TYPO3 9.5.0 Новости 7.0.7

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
4 984
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Новости расширения готовы для использования основных URL-адресов, начиная с версии 7.0.6. Убедитесь, что у вас есть правильная конфигурация, например настройка модуля «Сайт в Сайтах».

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

webMan 10.03.2020 12:42
Ответ принят как подходящий

Вы можете сделать это с помощью директивы routeEnhancers в файле YAML конфигурации вашего сайта (обычно htdocs / config / sites // config.yaml). В официальной документации есть пример, хотя и немного скрытый:

https://docs.typo3.org/typo3cms/extensions/core/Changelog/9.5/Feature-86365-RoutingEnhancersAndAspects.html

Я активно использую эту конфигурацию:

rootPageId: <site id>
...
routeEnhancers:
 NewsPlugin:
  type: Extbase
  limitToPages:
    - 49 (when your news detail page id is 49)
    - ...
  extension: News
  plugin: Pi1
  routes:
    -
     routePath: '/blog/{page}'
     _controller: 'News::list'
     _arguments:
       page: '@widget_0/currentPage'
    -
     routePath: '/tag/{tag_name}'
     _controller: 'News::list'
     _arguments:
       tag_name: overwriteDemand/tags
    -
     routePath: '/{news_title}'
     _controller: 'News::detail'
     _arguments:
       news_title: news
    -
     routePath: '/archive/{year}/{month}'
     _controller: 'News::archive'
  defaultController: 'News::list'
  defaults:
   page: '0'
  aspects:
   news_title:
    type: PersistedAliasMapper
    tableName: tx_news_domain_model_news
    routeFieldName: path_segment

Привет, Павел, здорово, работает как шарм! Также ценю ссылку на руководство. Было слишком скрыто для меня. С уважением, Дэн

danriesen 25.10.2018 14:04

Я использую эту конфигурацию, но при переходе на следующую страницу на мою страницу со списком всегда добавляются деньги - кто-нибудь знает почему?

Chi 30.01.2019 09:05

Как вы думаете, есть ли способ не жестко закодировать здесь идентификаторы страниц для limitToPages, а сказать что-то вроде «ограничить страницы, на которых есть плагин для детализации новостей»?

Martin Wunderlich 22.02.2019 16:05

config / sites / config.yaml это новое соглашение, куда помещать конфигурации усилителя маршрута? этот каталог не существует по умолчанию или в предыдущих версиях с реальным URL-адресом

netzding 26.07.2019 10:55

Рабочий пример typo3 9.5.5 с tx_news 7.1.0 с PersistedPatternMapper:

routeEnhancers:
  NewsPlugin:
    type: Extbase
    limitToPages: [20,23,29,30]
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '{page}',_controller: 'News::list',_arguments: {'page': '@widget_0/currentPage'} }
      - { routePath: '{news_title}',_controller: 'News::detail',_arguments: {'news_title': 'news'} }      
    defaultController: 'News::list'    
    defaults:
      page: '0'
    requirements:
      page: '\d+'
    aspects:      
      news_title:
        type: PersistedPatternMapper
        tableName: 'tx_news_domain_model_news'
        routeFieldPattern: '^(?P<path_segment>.+)-(?P<uid>\d+)$'
        routeFieldResult: '{path_segment}-{uid}'
      page:
        type: StaticRangeMapper
        start: '1'
        end: '200'

Не могли бы вы подробно объяснить, что делают эти настройки, или хотя бы добавить ссылку на какую-нибудь документацию.

Gerfried 28.07.2020 04:53

Другие вопросы по теме