我在joomla后端中得到了这样的代码。
<td class="center"><?php echo JHtml::_('jgrid.published', $item->published, $i, 'products.', TRUE, 'cb'); ?></td>
发布功能正常工作,将我发送到我的控制器产品和方法发布。但是,取消发布是不正确的,即使定位标记仍像这样
<a class="jgrid" href="javascript:void(0);" onclick="return listItemTask('cb7','products.unpublish')" title="Unpublish Item">
仍正确显示,它仍将我发送给发布方法而不是取消发布方法有人对此有任何想法吗?
最佳答案
这是一个非常老的问题,但我本人也遇到了同样的问题。
看起来他们通过使用用于发布和取消发布功能的相同方法(已指出)“发布”来节省空间。
问题在于,在该方法中,它检查如何设置状态,但基于“任务”进行设置,由于某种原因,该任务不会从发布数据中剥离控制器的上下文。所以...而不是寻找...
if( $post['task'] == 'unpublish' ){
...您应该寻找...
public function publish(){
$post = JRequest::get('post');
if( $post['task'] == 'items.unpublish'){
$state = 0;
}else{
$state = 1;
}
请注意,我们正在寻找的
task
是items.unpublish
(项目是您的控制器),而不只是unpublish
。我知道这可能很晚了,但希望对您有所帮助。
关于joomla2.5 - Joomla jgrid.published不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20538848/