URL конструкции TYPO3 с несколькими заполнителями - PullRequest
0 голосов
/ 11 декабря 2018

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

placeholderA + staffID + placeholderB

В случае, если строка поиска SOLR изменяется вВ будущем (т.е. исключая определенные типы документов в этом поиске или изменяя сортировку) нам придется менять только заполнители, а не полный URL-адрес на каждой странице профиля.Должен быть простой способ сделать это, но мой веб-разработчик сказал мне, что для этого потребуется база данных с идентификаторами персонала и большим количеством сценариев.Она права?Поскольку нам нужно коснуться каждой страницы профиля, чтобы изначально включить URL-адрес, было бы нормально ввести и сохранить уникальный идентификатор персонала на каждой странице профиля.Я просто хочу избегать повторного прикосновения к каждой странице, когда требуются изменения.

Это такая полезная концепция, должен быть какой-то плагин или что-то, что уже делает это.Можете ли вы дать мне несколько ключевых слов или подсказок для нашего следующего обсуждения?

1 Ответ

0 голосов
/ 12 декабря 2018

Как ваша сборка URl?

в общем случае URL создаются из нескольких частей

[[[<protocol>]<domain>]<path>[?<parameters>]][#<anchor>]

Теперь нам нужно определить, куда вы хотите вставить staffID:
это в <path> или <parameter>?

В TYPO3 у нас нет реального <path>.Это просто изображение, скрывающее базовый URL index.php с некоторыми параметрами.прежде всего параметр &id=123.
, дальнейший параметр может встречаться как параметр или как отрезки пути.В любом случае TYPO3 будет обрабатывать трансляцию между виртуальным путем и параметрами (как расширение, например, realurl, так и ядро).Для генерации URL вы вызываете TYPO3, предоставляя список параметров, или, если вызывается «страница», вы заканчиваете списком параметров, которые будут определять визуализацию.

Затем вы можете смешать генерацию URL:
Вы берете сгенерированный URL и добавляете сегменты пути, как вы их «угадываете», без участия TYPO3.Это может привести к проблемам, так как вы будете вызывать сервер с URL-адресом, о котором TYPO3 не знает, поскольку он не сгенерировал его.Если TYPO3 генерирует URL, он сохраняет его в базе данных с «переводом» в параметры.realurl может угадать перевод, но иногда он терпит неудачу, особенно если используются chashhes.

Что такое cHashes?
с cHashes TYPO3 защищает кэш страницы от несвязанных параметров.Если страница генерируется, это зависит от параметров.Любой дополнительный параметр может привести к появлению другой страницы, поэтому TYPO3 сохраняет хэш параметров для каждой кэшированной страницы.Для проверки этот хеш может быть добавлен в URL.этот дополнительный параметр также сохраняется в таблице «translation».

Если вы теперь добавляете параметры к сохраненному URL-адресу и возвращаете его к параметрам, у вас есть параметр cHash, который идентифицирует кэшированную страницу.Но только для части параметров.Ваши добавленные параметры не были известны и не учитывались при создании страницы и сохранении ее в кеше.Если кэшированная страница доставляется, ваши дополнительные параметры «теряются».

Поэтому необходимо включить все параметры в генерацию URL с помощью TYPO3.
Добавление staffID должно быть сделано с помощью TYPO3 ине может быть конкатенацией сегментов пути в шаблонах HTML (или javascript).
Если вы позже измените свои параметры, вам нужно изменить генерацию ваших URL.

Я бы порекомендовал добавитьstaffID в качестве поля для записи и создания URL для списка документов с помощью TYPO3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...