我有一个用i18n翻译的插件,在index.ctp
中有分页符排序:
<?php echo $this->Paginator->sort(__d('item', 'item_layout_id')); ?>
当我尝试对列进行排序时,它们不会按顺序排列。
这是i18n的网址:
index/sort:Layout/direction:desc
而不是:
index/sort:item_layout_id/direction:desc
如何解决问题?
答案 0 :(得分:0)
使用sort
帮助paginator
方法的方式是错误的,只需尝试这样做。
<?php $this->Paginator->sort('item_layout_id', __('item')); ?>
或
<?php $this->Paginator->sort('item_layout_id', __d('your_domain_name', 'item')); ?>
有关详细信息,请查看here。
答案 1 :(得分:0)
PaginatorHelper :: sort($ key,$ title = null,$ options = array())
问题中的代码是将变量fieldname传递给sort函数,它可以重写为:
<?php
$translated = __d('item', 'item_layout_id');
echo $this->Paginator->sort($translated);
这意味着如果有item_layout_id
的翻译 - 排序链接将不再有效,因为字段Layout
(来自问题)不存在。尝试按不存在的字段排序会导致参数被忽略。
要翻译排序链接的标题 - 请使用title参数:
<?php
echo $this->Paginator->sort(
'item_layout_id', // Sort by this field
__d('item', 'item_layout_id') // Display this text
);