将搜索 DIV 添加到 Joomla 3.0 组件视图时 CSS 丢失
Posted
技术标签:
【中文标题】将搜索 DIV 添加到 Joomla 3.0 组件视图时 CSS 丢失【英文标题】:CSS is Lost when adding Search DIV to Joomla 3.0 Component View 【发布时间】:2013-12-18 17:26:41 【问题描述】:我发现当此代码 sn-p 添加到我正在创建的自定义组件的视图中时,我会丢失管理面板中的默认样式。
<div class="btn-group pull-right hidden-phone">
<label for="limit" class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC');?></label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
关于为什么会发生这种情况的任何想法?
我还发现这段代码在同一个视图上也放弃了样式:
<?php echo $this->pagination->getListFooter(); ?>
这让我觉得它与$this->pagination
有关,这通常是为视图定义的?
好的,再更新一次……
我现在已经清除了这些样式问题,并发现根本问题与 $this
变量有关。我有另一个 PHP 调用,视图应该从数据库中提取数据,如下所示:
<?php foreach ($this->items as $i => $item) :
$ordering = ($listOrder == 'a.ordering');
$canCreate = $user->authorise('core.create', 'com_bbmaps');
$canEdit = $user->authorise('core.edit', 'com_bbmaps');
$canCheckin = $user->authorise('core.manage', 'com_bbmaps');
$canChange = $user->authorise('core.edit.state', 'com_bbmaps');
?>
但我又看到了错误-->
Warning: Invalid argument supplied for foreach()
最后我的问题是我在哪里定义$this
相关的数据库?
我看到$this
定义的唯一位置是在controller.php 文件中:
public function display($cachable = false, $urlparams = false)
require_once JPATH_COMPONENT.'/helpers/componenthelper.php';
$view = JFactory::getApplication()->input->getCmd('view', 'userdatas');
JFactory::getApplication()->input->set('view', $view);
parent::display($cachable, $urlparams);
return $this;
如您所见,它引用了userdatas
视图。我从userdatas
视图创建了一个名为photos
的新视图。如何告诉photos
视图从新数据库中提取$this
?
【问题讨论】:
【参考方案1】:请检查您是否关闭了所有打开的标签。 当我忘记关闭一些以前打开的标签或其他标签时,我遇到了同样的问题。 有时,某些编辑器的自动完成功能会错误地将关闭替换为 a。
-- 编辑--
如果您没有启用 php.ini display_errors 指令,还请检查您的服务器的错误日志。您的组件中可能存在您在页面上看不到的错误。当出现“致命”PHP 错误时,执行将停止,进一步的渲染也会停止。
-- 第二次编辑--
您可以尝试替换以下内容:
<?php foreach ($this->items as $i => $item) :
与:
<?php if (!empty($this->items) :
foreach ($this->items as $i => $item) :
然后在“endforeach”之后关闭“if”:
endforeach;
endif;
这应该可以解决“无效参数”错误。
P.S.:在这种情况下,$this 很可能对应于模板对象,该对象具有分配给它使用的所有属性。
【讨论】:
感谢您的建议。我已经从工作正常的预先存在的管理视图中复制了这个视图,所以它不应该有标签的语法错误。我已经用更多细节更新了问题,这可能有助于更好地理解问题。 感谢您提供更多信息。我检查了 apache 错误日志,没有任何内容。我宁愿处理$this
变量的根本问题,而不是删除每个关闭的项目。我在controller.php
中找到了更多相关代码,并使用该信息更新了问题。以上是关于将搜索 DIV 添加到 Joomla 3.0 组件视图时 CSS 丢失的主要内容,如果未能解决你的问题,请参考以下文章