Я использую версию 8.7 TYPO3 и намереваюсь использовать ссылку, которая ведет непосредственно на серверную часть для редактирования записи (страницы). Я пробовал что-нибудь вроде typo3/backend.php?edit=57
, но получил ошибку:
файл не найден
Я использую версию 8.7 TYPO3 и намереваюсь использовать ссылку, которая ведет непосредственно на серверную часть для редактирования записи (страницы). Я пробовал что-нибудь вроде typo3/backend.php?edit=57
, но получил ошибку:
файл не найден
typo3/backend.php?edit=57
был способом сделать это до TYPO3 6.2, но внутренний URL-адрес изменился на typo3/index.php
в TYPO3 7.6. Он по-прежнему работает, но вам нужен токен безопасности, который генерируется ядром. Теперь URL-адрес typo3/index.php?route=%2Fmain&edit=57&token=...
. Однако не существует простого способа сгенерировать URL-адрес с таким допустимым токеном извне TYPO3.
Если вы хотите создать ссылку внутри настраиваемого модуля для редактирования записи, вы можете использовать \TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick()
или, если вы используете шаблон Fluid, \TYPO3\CMS\Backend\ViewHelpers\Link\EditRecordViewHelper
ViewHelper. Подробнее об этом можно прочитать здесь: https://docs.typo3.org/typo3cms/CoreApiReference/8.7/ApiOverview/Examples/EditLinks/
При использовании расширения pxa_siteimprove
ссылки на контент имеют следующую форму:
https://example.com/typo3/index.php?tx_siteimprove_goto=page:{page_uid}:{language_uid}
Параметр language_uid
необязательный. Пример ссылки на страницу с uid 42 выглядит так:
https://example.com/typo3/index.php?tx_siteimprove_goto=page:42
При желании мы можем включить языковой uid (например, 1). Без установленного uid языка по умолчанию используется 0
:
https://example.com/typo3/index.php?tx_siteimprove_goto=page:42:1
Если вы хотите создать глубокие ссылки для других целей, вы можете посмотреть, как это расширение создает глубокие ссылки в Pixelant\PxaSiteimprove\Hooks\DeepLinkingHandler
. В первом обработчике он просто сохраняет uid страницы в бэкэнд-сеансе пользователя, а в более позднем обработчике повторно использует эту информацию для перенаправления на желаемую страницу, устанавливая следующую глобальную переменную:
$GLOBALS['BE_USER']->uc['startModuleOnFirstLogin'] = 'web_layout->id=' . (int)$pageId . '&SET[language]=' . (int)$languageId;