ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – TYPO3问题与Typoscript和访问$this->设置

2019-08-23 23:28:46  阅读:229  来源: 互联网

标签:typo3 typoscript php


我正在使用TYPO3版本7.6.14,我已经为客户端创建了一个扩展,它有四个控制器,四个插件,总体上非常大.无论如何,我现在需要为动态或用户选择的“页面ID”添加选项(设置变量),然后用于从一个插件重定向到另一个插件.对我的问题可能有更好的解决方案,但我正在尝试做类似的事情:

plugin.tx_extname_basket {
    view {
        # cat=plugin.tx_extname_basket/file; type=string; label=Path to template root (FE)
        templateRootPath = EXT:extname/Resources/Private/Templates/
        # cat=plugin.tx_extname_basket/file; type=string; label=Path to template partials (FE)
        partialRootPath = EXT:extname/Resources/Private/Partials/
        # cat=plugin.tx_extname_basket/file; type=string; label=Path to template layouts (FE)
        layoutRootPath = EXT:extname/Resources/Private/Layouts/
    }
    persistence {
        # cat=plugin.tx_extname_basket//a; type=string; label=Default storage PID
        #storagePid =
    }
    settings {
        #  cat=plugin.tx_extname_basket//a; type=int; label=Products Page ID
        productsPage =
    }
}

现在的问题是,即使我100%确定Typoscript被正确地包含在加载扩展名的页面中,变量$this-> settings [‘productsPage’]和FLUID {settings.productsPage}中的变量也不起作用.我清除了整个缓存甚至尝试删除整个typo3temp文件夹,它仍然无法正常工作.我也试过调试$this这个对象,它说settings =>空值.

Image from objects browser

哦,productsPage是在“SETUP”下的Default Root模板中输入的,当浏览Typoscript对象时(在管理中)我可以看到设置设置就好了.所以我认为我没有无效的TypoScript.

解决方法:

如果您有四个插件,则必须为每个插件设置此Typoscript设置.如果正确包含上面的Typoscript,则只能通过插件“basket”访问“settings”.

另一件事:你的Typoscript中的评论似乎是那些设置是Typoscript常量而不是Typoscript设置.在设置中,您还必须将这些常量传递给插件配置.例:

plugin.tx_extname_basket {
    settings {
        productsPage = {$plugin.tx_extname_basket.settings.productsPage}
    }
}

您还必须将模板等的其他常量传递给设置.

标签:typo3,typoscript,php
来源: https://codeday.me/bug/20190823/1702063.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有