Typo3:菜单中的第 link 页使用自定义记录中的值

Typo3: page link in menu using value from custom record

我有:

在该菜单的任何页面上,我都可以有一个产品记录。 对于有产品记录的页面,我希望 link 看起来像:

http://www.sitedomain.com/<url_alias>

这可以用错别字完成吗?

编辑

看起来用错别字完成所有这些太复杂了,所以我使用了 userFunc。我正在检查是否有带有商店 ID 的产品记录,并想 return 该商店 ID。如果不是,return 当前菜单页面的 UID。问题是,如何将菜单页面 UID 作为参数传递给 userFunc?

class user_productsOnCurrentPage
{
    function main( $content, $conf )
    {
        if ( TYPO3_MODE !== 'FE' )
        {
            return FALSE;
        }

        $product = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
                'shop_id', 'tx_products_domain_model_product', 'pid=' . $conf['currentPageId'] . ' AND deleted=0 AND hidden=0' );

        if ( is_array( $product ) && ! empty( $product ['shop_id'] ) )
        {
            return $product ['shop_id'];
        }

        return $conf['currentPageId'];
    }
}

菜单:

lib.mainMenu = HMENU
lib.mainMenu {
    ...
    1 = TMENU
    1 {
        ...
        NO = 1
        NO {
            ...
            # show direct url for external links
            doNotLinkIt = 1
            stdWrap.cObject = CASE
            stdWrap.cObject {
                key.field = doktype
                default = TEXT
                default {
                    field = nav_title // title

                    typolink.parameter.cObject = USER
                    typolink.parameter.cObject {
                        userFunc = user_productsOnCurrentPage->main
                        currentPageId = ?????
                    }

                    typolink.wrap = |<span><strong></strong></span>
                    typolink.ATagBeforeWrap = 1
                    stdWrap.htmlSpecialChars = 1
                }
                ...

我可以直接在用户函数中访问页面 ID:

打字错误:

typolink.userFunc = user_mcfazabosOnCurrentPage->main

PHP:

$pageId = $this->cObj->getFieldVal( 'uid' );