我试图了解stash插件的使用将如何影响我网站的URls。 传统方式: 我有一个名为site的模板组。在TG网站中,我有模板文章,about_us等。 URl将用于单个条目
www.mysite.com/index.php/site/articles/title_of_respective_article
关于我们页面的网址:
www.mysite.com/index.php/site/about_us
两者都将反映template_group /模板结构,因此对搜索引擎优化友好,并为用户提供他们在网站上的提示。
但是当我使用stash时,我将有2个包装器(一个用于主页,一个用于站点的其余部分。 部分将用于标题,主要内容和页脚。 据我了解,我将使用template_groups布局作为主要内容的包装和部分。
模板看起来像
两个包装器构建TG“布局”两者都是隐藏的,因为它们不应该被直接调用。
layout
.homepage
.site
TG部分中的三个部分
partials
header
main_content
footer
顺便说一句,不应该隐藏那些,因为它们也不是完整的HTML页面。
这让我很困惑。如何获取我的好网址? 像
这样的网址www.mysite.com/index.php/site/about_us
将不再符合TG / T概念。
任何帮助?
答案 0 :(得分:5)
要扩展上述答案,只是针对您的www.mysite.com/index.php/site/about_us请求:
您要创建一个名为“site”的模板组,然后您可以在/ index模板中使用此类代码
{embed="layout/.site"}
{exp:channel:entries limit="1" disable="categories|member_data|pagination"}
{exp:stash:set name='title'}{title}{/exp:stash:set}
{exp:stash:set name='maincontent'}
<section>
<h1>{title}</h1>
<article>{content}</article>
</section
{/exp:stash:set}
{/exp:channel:entries}
嵌入调用.site布局,内部只是拉取您的特定频道:条目数据。
正如您所看到的,它仍然使用传统的模板组/模板构建网址的方式,它只是以不同的方式提取数据。
答案 1 :(得分:4)
使用Stash和template partials approach(我个人不使用)时,您提到的文件都是embedded。您仍然使用与以前相同的模板组和模板文件。
基于Stash的方法只是在现有模板中执行的不同方式 - 而不是替代它们。
答案 2 :(得分:0)
正如德里克所说的那样。考虑它的方法是这样 - 使用模板部分方法,您的模板主要包含(如果不仅仅)条目逻辑(通道条目循环,其参数,该通道正在使用的自定义字段等)。逻辑的结果将存储作为存储变量。然后,嵌入式布局模板会调用存储变量来显示您已隐藏的内容。因此,您的URL结构保持不变,但您的重复工作量要少得多,因为您将模板限制在逻辑上的程度越多(即格式/显示标记非常少),它们就越清洁,管理模板就越容易