Php 占位符属性在Concrete5站点中不起作用

Php 占位符属性在Concrete5站点中不起作用,php,placeholder,concrete5,Php,Placeholder,Concrete5,我在一个concrete5网站上工作,需要在concrete5的默认搜索块中使用占位符添加文本。 按如下方式编辑代码: <input name="query" type="text" value="<?php echo htmlentities($query, ENT_COMPAT, APP_CHARSET)?>" class="ccm-search-block-text" placeholder="Search"/> 我的猜测是,您要么在模板的错误部分更改了代码(这很

我在一个concrete5网站上工作,需要在concrete5的默认搜索块中使用占位符添加文本。 按如下方式编辑代码:

<input name="query" type="text" value="<?php echo htmlentities($query, ENT_COMPAT, APP_CHARSET)?>" class="ccm-search-block-text" placeholder="Search"/>

我的猜测是,您要么在模板的错误部分更改了代码(这很容易做到,因为内置块的标记非常混乱,而且没有经过深思熟虑),要么您有另一个文件覆盖了基本视图

首先,您不应该编辑内置的view.php文件,而是应该通过将该文件复制到
SITEROOT/blocks/search/view.php
来覆盖它。现在,在该文件的新副本中,进行所需的更改

接下来,尝试做一些其他的更改,看看这些更改是否成功——例如,尝试向文件中添加一些随机文本,看看是否会显示这些更改。搜索块将许多不同的功能组合到一个位置,因此您可以在一个位置更改文件,但该位置从未实际渲染(例如,提交表单时,搜索块同时输出搜索表单和搜索结果)

您还应该禁用仪表板中的覆盖缓存——这会在开发过程中导致许多此类问题

搜索块本身没有任何东西会改变您的标记,因此这可能是由于缓存或代码没有放在您认为它所在的位置


祝你好运。

这里有个主意。。与其尝试在混凝土之外添加php,为什么不试试这个呢?我已经在我们的网站上使用过很多次了

嗯,


Kent

您是否使用相同的浏览器进行测试?生成的代码是什么?它不适用于任何浏览器,使用all进行测试。而在apache中,所有浏览器都可以使用相同的功能。生成的代码是:占位符属性在前端不存在。。!您确定在不工作的服务器上有正确的PHP文件吗?如果是这样,您可能会遇到缓存问题。是的,文件是正确的,因为它与apache一起工作。是的,从浏览器和站点后端清理缓存。仍然相同:/。现在我不知道问题出在哪里。看起来您没有使用正确的php
placeholder=“Search”
part应该已经生成了代码。您是否在服务器上使用缓存?