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


Placeholder attribute not working in Concrete5 site

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

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

文件路径为:siteroot''cretic''blocks''search''view.php。当我在本地Apache服务器中使用相同的东西时,它就工作了。但不能与其他服务器一起工作。

有什么想法或建议吗?谢谢

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

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

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

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

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

祝你好运。

这里有一个想法。。与其尝试在Concrete之外添加到php,为什么不尝试一下呢?我已经在我们的网站上使用过很多次了。。

https://www.concrete5.org/marketplace/addons/simple-php-block/

HTH,

Kent