gpt4 book ai didi

silverstripe - 前端的 CMS 链接未转换即 href=[sitetree_link_id=xx]

转载 作者:行者123 更新时间:2023-12-01 12:50:41 33 4
gpt4 key购买 nike

在我们运行 2.4 的旧站点之一上注意到一个问题,当用户在 CMS 内容中创建链接,选择要链接到的现有页面时,该链接没有被转换为前端的实际 URL所有链接都以 <a href="[sitetree_link_id=12]"> 的格式通过

是什么原因导致的,我该如何解决?

最佳答案

标签似乎设置不正确。它应该是 [sitetree_link id=12],而不是 [sitetree_link_id=12]

我们后来为 [sitetree_link,id=12] 添加了对解析器的支持,这样链接就不需要包含空格了,但我不记得这是在 2.4 中还是只有 3.0+ .

你能确认你的所见即所得插入是在那个错误的 _ 中吗?如果是这样,您可能需要检查 tiny_mce_imporvements.js 中的 handleaction_insert 函数以确认它有这样一行:

case 'internal':
href = '[sitetree_link id=' + this.elements.internal.value + ']';

如果插入的链接实际上没有错误的 _ 但它们没有被解析,那么请尝试检查您的 sapphire/_config.php 文件:

ShortcodeParser::get('default')->register('sitetree_link', array('SiteTree', 'link_shortcode_handler'));

如果您的网站对 ShortcodeParser 进行了更改,您可能无意中关闭了 sitetree_link 支持。

如果所有这些看起来都按顺序进行,则可能由于某种原因没有调用 ShortcodeParser。在 HTMLText::forTemplate() 中,放置一条调试语句(我喜欢 die("I got here!");)以确认 HTMLText::forTemplate() 是实际上被调用。如果不是,您可能需要在 Content 变量的某些预处理中手动调用它。而不是这个:

$content = $this->Content;

这样做:

$content = $this->obj('Content')->forTemplate();

我希望其中一个答案对您有所帮助。无论哪种方式,如果您能回发就太好了,这样我们就可以找出造成这种情况的原因。它可能会帮助我们使 API 在 SilverStripe 3.1 中更易于使用。

关于silverstripe - 前端的 CMS 链接未转换即 href=[sitetree_link_id=xx],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12592872/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com