2012-09-20 4 views
3

저는 EE 초보자이며 교육없이 EE에 내장 된 회사 웹 사이트를 관리하는 데 큰 역할을했습니다. 저는 프로그래머가 아닙니다. 저는 디자이너입니다. 그래서 이것을 잠깐 들여다 보았습니다. 그래서 나는 어수선한 언어를 필요로 할지도 모른다. :)ExpressionEngine 페이지에 자바 스크립트 넣기

나는 약간의 자바 스크립트가있는 페이지를 만들고 싶다. 내가 새로운 자바 스크립트를 만들 필요가있어서 자바 스크립트를 넣을 수 있습니까? 그리고 제가 작성한 페이지에서 해당 템플릿을 사용하게하려면 EE와 어떻게 통신합니까?

페이지/색인 템플릿을 복제하여 clinician-map (게시자에서 만든 페이지의 동일한 이름)으로 이름을 변경했습니다. EE는 그걸 좋아하지 않았고 그 페이지는 결국 파산했습니다. 내가하고 싶은 것은 하나의 자바 스크립트 아이템을 삽입하는 것인데, 이는 단지 한 페이지만으로는 비효율적 인 것처럼 보입니다. 도움??

(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> 
+0

답변을 원하면 더 많은 정보가 필요하다고 생각합니다. 먼저 어떤 종류의 URL을 페이지에 넣으시겠습니까? 'http : // example.com/clinician-map /'? 둘째, Pages 모듈을 사용하고 있습니까? – unexplainedBacn

답변

0

오케이. 나는 새로운 웹 블로그와 새로운 템플릿 그룹을 만들었고 마침내 그것이 작동하는 것처럼 보였다. 내 자바 스크립트는 아니지만 그걸 알아낼 수 있습니다.

도와 주셔서 고맙습니다.

0

...

당신은 '페이지'템플릿 그룹에 '인덱스'라는 템플릿으로 시작했다.

시작하려는 '페이지'템플릿은 '페이지'웹 로그에서 단일 항목을 표시합니다.

그래서 요청 URL은 다음과 같이 보일 수 있습니다

'some_url_title'는 'url_title 가치 당신의'페이지 '웹 로그의 항목 중 하나입니다

http://example.com/page/some_url_title

.

이제 인덱스 템플리트를 복제하고이 새 템플리트 'clinician-map'을 호출했습니다.

그래서 당신은이 템플릿을 통해 항목을 부를 것이다 :

이제

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

, 두 번째는 3 개 세그먼트가 있었을 때 처음 URL, 2 개 세그먼트를하였습니다 통지?

일반적으로 큰 문제는 아니지만 인덱스 템플릿을 설계 한 사람이 문제가되는 부분을 만들었습니다. 그는 segment_2의 가치를 받아 embed를 통해 전달합니다.

두 번째 예제 (clinician-map)에서 "clinician-map"을 전달하는 동안 첫 번째 예 (index)에서 동적 값 "some_url_tile"을 전달합니다. 삽입 된 템플릿 'html_head'가 유효한 url_title을 얻기를 원하지만 대신 'clinician-map'문자열을 얻으면 예기치 않은 결과가 발생할 수 있습니다.

또한 새 템플릿을 만드는 것이 올바른 방법인지 결정하기 위해 무엇을하려고하는지 잘 알지 못합니다. 실제로 필요한 것은 새로운 웹 로그 항목이거나 기존 템플리트의 동적 인 값일 것입니다.

만약 새로운 템플릿이 가장 좋은 접근법이라면 간단히 segment_2를 segment_3으로 대체하여 설명했던 문제를 해결할 수 있지만 그 방법이 당신이 가고 싶은 방법이라는 것을 확신 할 수는 없습니다.

+0

전단지 맵 시스템을 웹 페이지에 설치하려고합니다. Jarrett이 제공 한 위의 코드를 사용하여 작동 시키지만 템플릿 (임상의지도)은 내 게시물 (임상의지도)에서 읽지 않습니다. 페이지를 단순히 제공하는 것보다 페이지를 "부러 뜨리는 것"처럼 행동합니다. segment_3으로 변경하려고 시도했지만 여전히 작동하지 않습니다. – user1686221

+0

링크를 공유 하시겠습니까? – AllInOne

+0

이 비트는 본문이 아니라 머리에 속해 있습니다.

AllInOne

0

일부 자바 스크립트가있는 페이지를 만들고 싶습니다. 새 템플릿을 만들어야 만 일부 자바 스크립트를 추가 할 수 있습니까?

더 구체적인 고체 추천을 제공하기 위해 필요하지만, 거의 모든 경우에, 나는 자바 스크립트를 유지하는 것이 좋습니다 것은 함께 그룹화 할 것 중 하나 < 머리에 > </머리를 > 또는 이상적으로 폐쇄 </몸 > 전 태그로 도망 갈 수 있다면

템플릿 코드를 보면 모든 JavaScript가 embeds/html_scripts 페이지에 저장되어있는 것으로 보입니다. 템플릿에 필요한 JavaScript를 추가 할 것입니다. 자바 스크립트가 특정 페이지에만 표시되도록하려면 조건부를 사용합니다 (대답의 끝 부분에서 개요를 설명합니다).

내가 작성한 페이지가 템플릿으로 이되도록 EE와 어떻게 통신합니까? 다음 (기본적으로)

ExpressionEngine URL은 조립 : 따라서

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

는 "접촉 우리"의 url_title있는 페이지가있는 경우, 당신은을 사용하여 해당 페이지를 원했다 사이트/페이지에서 템플릿, 당신과 같이 해당 템플릿을 사용하는 페이지를 말할 수 :

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

URL을 분명히 벌금과 다하는지 blog 기사와 같은 것을위한 ndy 그러나 그것은 그렇게 귀엽지 않다. 그래서 ExpressionEngine은 또한 다음과 같은 탐색 트리 기반 URL 구조를 생성 "페이지"를 기반으로 탐색을 구성 할 수 있습니다 :

http://website.com/contact-us

쉽게 페이지 탐색 등을 구축 할 수 있도록 몇 가지 타사 모듈이 있습니다 : devot-ee.com/add-ons/structure

구조를 사용하면 각 채널의 기본 템플릿을 지정하고 각 페이지의 템플릿도 무시할 수 있습니다.

나는 페이지/색인 템플릿을 복제하여 clinician-map (게시자에서 만든 페이지의 동일한 이름)으로 이름을 변경했습니다. EE는 을 좋아하지 않아 페이지가 파손되었습니다. 내가하고 싶은 것은 하나의 자바 스크립트 항목을 삽입하는 것입니다. 이것은 한 페이지에 너무 비효율적 인 것처럼 보입니다. 도움말 ??

(EE 1.6.8 사용) 다음은 clinician-map 템플릿의 코드입니다.

내가 제공 한 템플릿 코드와 관련하여 여러 가지 사항이 있습니다.

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

참고 : 다음 세그먼트가 결정되는 방법 그러나, 빠른 수정으로 여기에 내가 자바 스크립트의 한 줄,

1) 퍼가기/html_scripts 템플릿을 열고 다음 로직을 추가를 추가하는 방법은 다음과 같습니다

http://website.com/segment_1/segment_2/segment_3 
+0

코드의 마지막 비트가 제대로 작동합니다. 이제 자바 스크립트 맵 (삽입하려고하는 것!)이 맨 위에 표시됩니다. 적어도 표시하고 있습니다. 내가 지금 얻고있는 문제는 여전히 내 게시물을 읽지 않고 있으며 페이지를 "파산"한 것처럼 행동한다는 것입니다. 적어도 지금은 표시 중입니다! – user1686221

관련 문제