如何在 Typo3 后端获取页面的 'realurl' url
How can I get 'realurl' url of page in backend of Typo3
我已经开始开发 'post edit content hook',现在我需要获得 'realurl' 所需的页面。我该怎么做?
我注册了一个钩子:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][]
= 'EXT:' . $_EXTKEY .'/Classes/Hooks/ContentEdit.php:\xxx\xxx\Hooks\ContentEdit';
和Class:
class ContentEdit
{
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages'){
if ($id !== null){
// need to get url of page
}
}
}
}
没有直接的方法可以做到这一点,因为 RealURL 依赖于 BE 上不可用的 TSFE
,无论如何,RealURL 的作者 Dmitry Dulepov 创建了解决方法扩展 - Page path 允许你在 BE 模块、调度程序的任务等中获取已解析的 RU 路径
注意:这个ext只是调用eID脚本,它生成正确的页面路径,换句话说它模拟FE点击,因此它可能会能够不仅适用于 RU,还适用于 CoolURI 和其他类似的扩展。
我已经开始开发 'post edit content hook',现在我需要获得 'realurl' 所需的页面。我该怎么做?
我注册了一个钩子:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][]
= 'EXT:' . $_EXTKEY .'/Classes/Hooks/ContentEdit.php:\xxx\xxx\Hooks\ContentEdit';
和Class:
class ContentEdit
{
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages'){
if ($id !== null){
// need to get url of page
}
}
}
}
没有直接的方法可以做到这一点,因为 RealURL 依赖于 BE 上不可用的 TSFE
,无论如何,RealURL 的作者 Dmitry Dulepov 创建了解决方法扩展 - Page path 允许你在 BE 模块、调度程序的任务等中获取已解析的 RU 路径
注意:这个ext只是调用eID脚本,它生成正确的页面路径,换句话说它模拟FE点击,因此它可能会能够不仅适用于 RU,还适用于 CoolURI 和其他类似的扩展。