所以,我有点关于如何在关系中使用单独的表,或类似的东西......
我有一张约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个字段并不是最佳选择。
答案 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个新条目没有错。