3

私は EE の超初心者であり、EE で構築された会社の Web サイトをトレーニングなしで管理することに文字通り突っ込まれました。私はプログラマーではなく、デザイナーなので、これを理解するのにしばらく時間がかかりました。だから私はいくつかのばかげた言語が必要かもしれません:)

Javascript を含むページを作成したいと考えています。JavaScript を配置できるように、新しいテンプレートを作成する必要がありますか? また、作成したページをそのテンプレートに合わせたいことを EE に伝えるにはどうすればよいでしょうか?

ページ/インデックス テンプレートを複製し、名前をclinician-map (発行元で作成したページと同じ名前) に変更しました。EE はそれを気に入らず、その後ページが壊れました。私がやりたいのは、1 つの JavaScript 項目を挿入することだけです。これは、1 ページだけでは非効率的です。ヘルプ??

(EE 1.6.8 を使用) これは、clinician-map テンプレートからの私のコードです。

{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

わかった。私は新しいウェブブログと新しいテンプレートグループを作成しただけで、最終的にはうまくいっているようです. 私のjavascriptはそうではありませんが、それは理解できます。

私を助けてくれてありがとう!

于 2012-09-28T19:43:48.067 に答える
0

Javascript を含むページを作成したいと考えています。JavaScript を配置できるように、新しいテンプレートを作成する必要がありますか?

確固たる推奨事項を提供するには、より具体的な情報が必要になりますが、ほとんどの場合、JavaScript を <head></head> 内、またはできれば終了タグ </body> の直前にグループ化することをお勧めします。それと。

テンプレート コードを見ると、すべての JavaScript がembeds/html_scripts ページに格納されているように見えます。そのテンプレートに必要な JavaScript を追加します。JavaScript を特定のページにのみ表示する場合は、条件を使用します (回答の最後で概説します)。

また、作成したページをそのテンプレートに合わせたいことを EE に伝えるにはどうすればよいでしょうか?

ExpressionEngine URL (デフォルト) は次のように組み立てられます。

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

したがって、「contact-us」の url_title を持つページがあり、そのページでサイト/ページのテンプレートを使用する場合は、次のようにページにそのテンプレートを使用するように指示できます。

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

この URL は、ブログの記事などに適していることは明らかですが、それほどきれいではありません。そのため、ExpressionEngine を使用すると、次のようなナビゲーション ツリー ベースの URL 構造を作成する「ページ」ベースのナビゲーションを構築することもできます。

http://website.com/contact-us

ページ ナビゲーションを簡単に作成できるサード パーティ製モジュールがいくつかあります: devot-ee.com/add-ons/structure

Structure を使用して、各チャネルのデフォルト テンプレートを指定し、各ページのテンプレートを上書きすることもできます。

ページ/インデックス テンプレートを複製し、名前をclinician-map (発行元で作成したページと同じ名前) に変更しました。EE はそれを気に入らず、その後ページが壊れました。私がやりたいのは、1 つの JavaScript 項目を挿入することだけです。これは、1 ページだけでは非効率的です。ヘルプ??

(EE 1.6.8 を使用) これは、clinician-map テンプレートからの私のコードです。

あなたが提供したテンプレートコードに関して、私が違うことをすることがたくさんあります。ただし、簡単な修正として、JavaScript の 1 行を追加する方法を次に示します。

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

一見すると、あなたを混乱させているかもしれないことがいくつかわかります...

「ページ」テンプレート グループの「インデックス」というテンプレートから始めました。

開始元の「ページ」テンプレートは、「ページ」ウェブログからの単一のエントリを表示することを意図しているようです。

したがって、リクエスト URL は次のようになります。

http://example.com/page/some_url_title

ここで、'some_url_title' は、'page' ブログのエントリの 1 つにある 'url_title' 値です。

これで、index テンプレートを複製して、この新しいテンプレートを「clinician-map」と呼びました。

したがって、このテンプレートを介して次のエントリを呼び出します。

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

最初の URL には 2 つのセグメントがあり、2 番目の URL には 3 つのセグメントがあることに注意してください。

これは通常は大したことではありませんが、index テンプレートを設計した仲間が何か問題を起こすようなことをしました。彼は、segment_2 の値を取得し、埋め込みを介して渡しています。

したがって、最初の例 (index) では動的な値「some_url_tile」を渡していますが、2 番目の例 (clinician-map) では「clinician-map」を渡しています。埋め込まれたテンプレート 'html_head' が有効な url_title を取得することを期待しているのに、代わりに文字列 'clinician-map' を取得する場合、予期しない結果になる可能性があります。

また、新しいテンプレートを作成することがここで正しいアプローチであるかどうかを判断するために、あなたが何をしようとしているのかについて十分に知っているとは思いません. 実際に必要なのは、新しいブログ エントリか、既存のテンプレート内の動的な値である可能性があります。

新しいテンプレートが最善のアプローチであることが判明した場合は、segment_2 を segment_3 に置き換えるだけで、説明した問題を解決できますが、それがあなたの望む方法であるとは限りません。

于 2012-09-20T19:17:32.040 に答える