在关系中使用自定义表的最佳方法(在ExpressionEngine中)?

时间:2011-10-06 07:39:50

标签: mysql codeigniter expressionengine

所以,我有点关于如何在关系中使用单独的表,或类似的东西......

我有一张约5000家酒店的桌子叫exp_h_hotels 在我的网站上,我使用pages模块为该国家/地区的每个部分创建一个静态子页面。我想列出属于特定地区的所有酒店。

我理解我不能做这样的事情(使用带有查询模块的ExpressionEngine标签):

{exp:query sql="SELECT * FROM exp_h_hotels WHERE h_regionname ='{regionname}'"}
       {hotel_name}
{/exp:query} 

任何人都知道最好的方法吗?

我已经研究过使用ExpressionEngine API将数据插入到一个频道中 - 但是,我觉得用频道条目表填充5000个帖子,每个字段包含14-20个字段并不是最佳选择。

1 个答案:

答案 0 :(得分:1)

只要您的exp:query代码位于channel:entries标记内,就没有理由认为不应按预期工作:

{exp:channel:entries channel="pages" limit="1"}
<h1>Hotels in {regionname}</h1>
<ul>    
{exp:query sql="SELECT * FROM exp_h_hotels WHERE h_regionname ='{regionname}'"}
   <li>{hotel_name}</li>
{/exp:query}
</ul>
{/exp:channel:entries}

然而,从长远来看,将您的酒店导入EE的新渠道是一个更好的计划。您可以从数据库导出为CSV(可能使用phpMyAdmin),然后使用DataGrab导入EE。向EE添加5000个新条目没有错。