【发布时间】:2014-07-25 13:02:17
【问题描述】:
正如标题所说,我需要在结果中突出显示搜索的输入字符串,我的意思是如果我查找“ome”,结果应该如下所示:
- c ome
- s ome
- 杰 ome
- 的ome之一 等
在文档中搜索我发现我需要激活“文本”帮助程序,并且我应该有类似这样的代码:
echo $this->Text->highlight($string);
尽管我尝试了很多可能性,但我无法让它工作,我知道“文本”助手正在工作,因为这对我在 View/Users/index.ctp 有用:
echo $this->Text->autoLinkEmails(h($user['User']['email']));
如果有帮助,这是我为搜索生成的正常工作的代码:
文件:Model/Oldcaterm.php
public $actsAs = array(
'Search.Searchable'
);
public $filterArgs = array(
'entry' => array(
'type' => 'like',
'field' => array('entry', 'lemma_tag')
),
'lemma_tag' => array(
'type' => 'like',
'field' => array('entry', 'lemma_tag')
),
);
文件:Controller/OldcatermsController.php
public function index() {
$this->Oldcaterm->recursive = 0;
$this->Prg->commonProcess();
$this->Paginator->settings['conditions'] = $this->Oldcaterm->parseCriteria($this->Prg->parsedParams());
$this->set('terms', $this->Paginator->paginate());
}
文件:查看/Oldcaterms/index.ctp
<?php
echo $this->Form->create(null,array());
echo $this->Form->input('entry', array('label' => 'Cerca coincidència'));
echo $this->Form->end(__('Submit'));
?>
我已经阅读并尝试了许多不同的方法,但我无法使其工作,有人可以指导我一点吗,我在文档中找到了下一个示例:
// called as TextHelper
echo $this->Text->highlight(
$lastSentence,
'using',
array('format' => '<span class="highlight">\1</span>')
);
// called as String
App::uses('String', 'Utility');
echo String::highlight(
$lastSentence,
'using',
array('format' => '<span class="highlight">\1</span>')
);
但我找不到让它适合我的代码的方法
提前致谢。
【问题讨论】:
-
你最好参考官方文档,而不是一些 4 1/2 年前的博文:book.cakephp.org/2.0/en/core-libraries/helpers/…
-
对不起,我也读过,但由于我缺乏蛋糕知识(我是新手),我不明白你建议的文档,这就是我寻找替代来源的原因,有什么帮助吗?
-
那么,你有什么不明白的地方?这只是一个简单的方法调用,传递的第一个参数是内容,第二个是要突出显示的字符串,可选的第三个可用于定义用于突出显示的字符串的 HTML 包装器。它甚至还有一个可以复制和粘贴的示例,真的没有太多要解释的了。如果您对此有任何具体问题,则需要详细说明。
-
好了,概念我能抓到,但是不知道每个东西放哪里,不知道怎么写合适的代码
-
对不起,我很久没去了,现在重新处理问题,问题是我找不到将它应用到我的代码的方法,我尝试了很多不同的方法但没有成功,所以我需要的是一些帮助来找到它们所属的东西,谢谢。
标签: php cakephp syntax-highlighting highlight cakephp-2.3