在使用默认模板的时候,点击搜索后,页面内容出现代码。
使用模板的模板,点击搜索后,内容出现。截图如下:
在上面红框中可以看到出现了两个乱码,实际上是未翻译的字符串。但感觉这个字符串的拼接出现了问题。初步怀疑是语言文件的问题,但深入的分析代码后,发现是代码的bug
出现问题的文件为:\components\com_finder\tmpl\search\default_result.php这个文件,代码为123行:
<?php if (count($taxonomy_text)) : ?> <li class="result__taxonomy-item result__taxonomy--<?php echo $type; ?>"> <span><?php echo Text::_(LanguageHelper::branchSingular($type)); ?>:</span> <?php echo Text::_(LanguageHelper::branchSingular(implode(',', $taxonomy_text))); ?> </li> <?php endif; ?>
出现问题的原因是 $taxonomy_text 已经翻译过一次了,但此时有一些的调用了Text::_翻译方法,导致出错。解决的方案,就是直接输出,不需要调用Text::_方法。
<?php if (count($taxonomy_text)) : ?> <li class="result__taxonomy-item result__taxonomy--<?php echo $type; ?>"> <span><?php echo Text::_(LanguageHelper::branchSingular($type)); ?>:</span> <?php //echo Text::_(LanguageHelper::branchSingular(implode(',', $taxonomy_text))); //出错的代码?> <?php echo implode(',', $taxonomy_text); //正确的代码?> </li> <?php endif; ?>
如果不想手动修改代码,请下载default_result.php文件。覆盖网站根目录\components\com_finder\tmpl\search\default_result.php文件。
记录本站的成长经历
评论 (0)