在使用默认模板的时候,点击搜索后,页面内容出现代码。

问题描述

使用模板的模板,点击搜索后,内容出现。截图如下:

在上面红框中可以看到出现了两个乱码,实际上是未翻译的字符串。但感觉这个字符串的拼接出现了问题。初步怀疑是语言文件的问题,但深入的分析代码后,发现是代码的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文件。

default_result.php

修改后效果

 

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前