3

我是 EE 的超级初学者,并且在没有经过培训的情况下就开始管理我公司基于 EE 构建的网站。我不是程序员,我是设计师,所以我花了一段时间来解决这个问题。所以我可能需要一些愚蠢的语言:)

我想创建一个包含一些 Javascript 的页面。我需要创建一个新模板,以便我可以在上面放一些 javascript 吗?我如何与 EE 沟通我希望我创建的页面与该模板一起使用?

我复制了页面/索引模板并将其重命名为临床医生地图(与我在发布者中创建的页面名称相同)。EE 不喜欢这样,页面随后中断。我想做的就是插入一个javascript项目,这对于一页来说似乎太低效了。帮助??

(使用 EE 1.6.8)这是我来自临床医生地图模板的代码。

{assign_variable:my_weblog="page"}
{assign_variable:my_template_group="page"}

{embed="embeds/html_head" url_title="{segment_2}"}

{embed="embeds/html_styles"}

{embed="embeds/html_scripts"}

<?php include_once("analyticstracking.php") ?>

</head>
{exp:weblog:entries weblog="{my_weblog}" disable="categories|member_data|pagination|trackbacks" limit="1" sort="asc" }
<body class="{url_title}">
{/exp:weblog:entries}

<div id="wrapper">

    {embed="embeds/html_headerPlusLeftNav"}

 <div id="content">
        <div id="contentMain">

{exp:weblog:entries weblog="{my_weblog}" disable="categories|member_data|pagination|trackbacks" limit="1" sort="asc"}
<h2>{title}</h2>
{page_body}
{/exp:weblog:entries}



<!--contactforminfo -->






{exp:weblog:entries weblog="{my_weblog}" disable="categories|member_data|pagination|trackbacks"}
{related_entries id="playa_contentcalloutitems"}
<div class="callout">
<h3>{title}</h3>
{callout_summary}
</div>
{/related_entries}
{/exp:weblog:entries}


{exp:weblog:entries weblog="{my_weblog}" disable="categories|member_data|pagination|trackbacks"}
{related_entries id="playa_contentfeatureditems"}
<div class="featuredContent">
<h3>{title}</h3>
{exp:word_limit total="50"}
{contentfeatured_summary}
{/exp:word_limit}{if contentfeatured_body!=""}<p><a href='{url_title_path='content-featured/'}' class='more'>Read More</a></p>{/if}
</div>
{/related_entries}
{/exp:weblog:entries}



</div>


{exp:weblog:entries weblog="{my_weblog}" disable="categories|member_data|pagination|trackbacks"}    
<div id="contentSub">{related_entries id="playa_contentsubitems"}<div class="item   {contentsub_bgcolor}">

 {if contentsub_contenttype=="Text or Picture with Text"}
 <h3>{title}</h3>
{exp:word_limit total="50"}
{contentsub_summary}
{/exp:word_limit}{if contentsub_body!=""}<p><a href='{url_title_path='content-sub/'}' class='more'>Read More</a></p>{/if}

{if:else}

<h3 class="imgHeader">{title}</h3>
{exp:html_strip convert="y" convert_back="none" keep="a,img"}
{contentsub_summary}
{/exp:html_strip}

{/if}

</div>{/related_entries}
{/exp:weblog:entries}

{embed="embeds/html_mailingListSignup"}



        </div>

</div>



{embed="embeds/html_footer"}




</div>


</body>
</html>
4

3 回答 3

0

乍一看,我可以看到一些可能让你感到困惑的事情......

您从“页面”模板组中名为“索引”的模板开始。

看起来您开始的“页面”模板旨在显示来自“页面”博客的单个条目。

所以请求 url 可能看起来像这样:

http://example.com/page/some_url_title

其中“some_url_title”是“页面”博客中的条目之一的“url_title”值。

现在您已经复制了索引模板并将这个新模板称为“临床地图”。

因此,您将通过此模板在以下位置调用条目:

http://example.com/page/clinician-map/some_url_title

现在,请注意第一个 url 有 2 个段,而第二个有 3 个段?

这通常没什么大不了的,但是设计索引模板的人做了一些事情,使它有问题。他正在获取 segment_2 的值并将其通过嵌入传递。

因此,在第一个示例(索引)中,我们传递了动态值“some_url_tile”,而在第二个示例(clinician-map)中,我们传递了“clinician-map”。如果嵌入的模板 'html_head' 期望得到一个有效的 url_title 而是得到字符串 'clinician-map' 你很可能会得到意想不到的结果。

此外,我认为我们对您尝试做的事情了解得不够多,无法确定创建新模板是否是正确的方法。可能您实际需要的是一个新的博客条目,或者可能只是您现有模板中的一个动态值。

如果事实证明一个新模板是最好的方法,您可以通过简单地将segment_2 替换为segment_3 来解决我所描述的问题,但我绝不肯定这就是您想要的方式。

于 2012-09-20T19:17:32.040 回答
0

我想创建一个包含一些 Javascript 的页面。我需要创建一个新模板,以便我可以在上面放一些 javascript 吗?

为了给出可靠的建议,需要更多细节,但在几乎所有情况下,我建议将 JavaScript 组合在一起,或者放在 <head></head> 中,或者最好在结束 </body> 标记之前(如果可以的话)用它。

查看您的模板代码,似乎所有 JavaScript 都存储在 embeds/html_scripts 页面中。我会将您需要的 JavaScript 添加到该模板中。如果您只希望 JavaScript 仅出现在某些页面上,我会使用条件(我将在答案末尾概述)。

我如何与 EE 沟通我希望我创建的页面与该模板一起使用?

ExpressionEngine URL(默认)按如下方式组装:

http://website.com/group/template/url_title

因此,如果您有一个 url_title 为“contact-us”的页面,并且您希望该页面使用站点/页面中的模板,您可以告诉您的页面使用该模板,如下所示:

http://website.com/site/pages/contact-us

对于博客文章等来说,那个 url 显然很好,但它不是那么漂亮;因此,ExpressionEngine 还使您能够构建基于“页面”的导航,从而创建基于导航树的 url 结构,例如:

http://website.com/contact-us

有一些第三方模块可以轻松构建页面导航,例如:devot-ee.com/add-ons/structure

使用 Structure,您可以为每个通道指定默认模板,并且还可以覆盖每个页面的模板。

我复制了页面/索引模板并将其重命名为临床医生地图(与我在发布者中创建的页面名称相同)。EE 不喜欢这样,页面随后中断。我想做的就是插入一个javascript项目,这对于一页来说似乎太低效了。帮助??

(使用 EE 1.6.8)这是我来自临床医生地图模板的代码。

对于您提供的模板代码,我会做很多不同的事情;但是,作为快速修复,我将添加一行 JavaScript,

1) 打开 embeds/html_scripts 模板,添加如下逻辑:

{if segment_2 == "my_page_url_title"}
   <!-- javascript here -->
{/if}

注意:以下是确定细分的方式:

http://website.com/segment_1/segment_2/segment_3
于 2012-09-20T23:07:01.853 回答
0

好的。我最终只是创建了一个新的网络博客和新的模板组,最后它看起来好像在工作。我的 javascript 不是,但我可以弄清楚。

非常感谢您耐心地帮助我!

于 2012-09-28T19:43:48.067 回答