我一直在为我的几个客户开发Real Estate组件。除了从单独的表中获取图像之外,我的所有工作都是有效的。Joomla组件 - 网站模型问题
一个网站模型的例子是城市。在城市模型中,主要获取(查询)是基于城市的属性列表。例如,如果选择城市视图或菜单项,则选择达拉斯等城市,然后在属性城市=达拉斯将显示的单城市视图属性列表中选择。
这部分工作很好,因为它应该是。问题是每个列表都有多个图像,存储在图像表中。在属性列表视图中,只需要显示单个图像(可能有很多)。
在主属性查询中添加“链接”子查询不起作用,因为它会为每个图像创建多个重复属性列表。所以,我创建了一个自定义方法,获取图像。
我用来帮助构建的编译器不支持签名方法(接受值的方法),所以我需要添加为类值。在用于特性getItems功能,我创建的类值:
$this->a_property_id = $item->id;
然后,在自定义的getImage函数I加入
$query->where('a.propid = ' . $db->quote($this->a_property_id));
作为查询的一部分。理论上,这应该拉一个单独的项目,其中a.propid等于属性id,如property id = 3,然后从propid = 3的图像中拉出一个项目。
最后,我加入了现场查看如default.php图像代码在foreach的一部分:
<?php foreach ($this->items as $item): ?>
<li>
<div class="uk-grid uk-panel uk-panel-box">
<div class="uk-width-medium-1-3">
<?php if(empty($this->image->path)){ ?>
<div> <a href="<?php echo 'index.php?option=com_mostwantedrealestate&view=property&id='.$item->id;?>" title="<?php echo $item->name;?>" rel=""> <img class="uk-thumbnail uk-thumbnail-medium" src="<?php echo JURI::root().'media/com_mostwantedrealestate/images/No_image_available.png'; ?>"> </a> </div>
<?php } else { ?>
<div> <a href="<?php echo 'index.php?option=com_mostwantedrealestate&view=property&id='.$item->id;?>" title="<?php echo $item->name;?>" rel=""> <img class="uk-thumbnail uk-thumbnail-medium" src="<?php echo JURI::root() . $this->image->path . $this->image->filename; ?>"></a></div>
<?php } ?>
</div>
<div class="uk-width-medium-1-3 uk-float-left">
<a href="<?php echo 'index.php?option=com_mostwantedrealestate&view=property&id='.$item->id;?>" title="<?php echo $item->name;?>" rel="" >
<h3><?php echo $item->name; ?></h3>
</a>
</div>
这是一种工作,但不完全,所以我不确定我可能是什么失踪。用我编码的方式,它显示图像。如果只有一个房产列表,那么它会显示正确的图像,但是如果存在a,可以说有两个属性:id = 1和id = 3,那么它会在图像表中显示propid = 3,比id = 1显示propid = 1,id = 3显示propid = 3。
关于我可能错过的任何想法?