我有一个插件,根据表格,投资组合类型等中的数字获取不同的项目。
到目前为止,类型正在工作,但我无法使限制偏移工作,这是代码点火器。
$type = $this->attribute('type', '');
$portfolioNum = $this->attribute('portfolioNum', '');
if ($portfolioNum !=0){
$portfolioNum = settype($portfolioNum, "integer");
}
$data = $this->db->select('portfolio.*, artists.artist_name event_title, artists.artist_slug event_slug')
->from('portfolio')
->where('portfolio_type', $type)
->where('portfolio_selected', 'Selected')
->limit(1, 0)
->join('artists_portfolio', 'portfolio.id = artists_portfolio.portfolio_id', 'LEFT')
->join('artists', 'artists.id = artists_portfolio.row_id', 'LEFT')
->get()
->result();
这很好用,使用portfolio_type获取表格中的第一项。
当我尝试添加变量而不是偏移量0时,它会中断。
$type = $this->attribute('type', '');
$portfolioNum = $this->attribute('portfolioNum', '');
if ($portfolioNum !=0){
$portfolioNum = 1;
}
$data = $this->db->select('portfolio.*, artists.artist_name event_title, artists.artist_slug event_slug')
->from('portfolio')
->where('portfolio_type', $type)
->where('portfolio_selected', 'Selected')
->limit(1, $portfolioNum)
->join('artists_portfolio', 'portfolio.id = artists_portfolio.portfolio_id', 'LEFT')
->join('artists', 'artists.id = artists_portfolio.row_id', 'LEFT')
->get()
->result();
并在模板中调用
{{TheSitePlugin:getSelected type="Production" portfolioNum="1"}}{{/TheSitePlugin:getSelected}}
答案 0 :(得分:2)
我很确定问题出在这些方面:
if ($portfolioNum !=0){
$portfolioNum = 1;
}
从我看到的情况来看,$ portfolioNum永远不会为0,因此总是设置为0.
更改
$portfolioNum = $this->attribute('portfolioNum', '');
到
$portfolioNum = $this->attribute('portfolioNum', 0);
并删除整个if子句。这样,如果没有将portfolioNum设置为标记属性,则Plugin类的属性函数将$ portfolioNum设置为0。
但是你仍然可能想检查一下,如果portfolioNum实际上是一个整数而不是什么。 也许als将portfolioNum重命名为“offset”,因为它就是它。