2016-08-28 17 views
0

jumbery를 사용하여 날짜를 기준으로 joomla 웹 사이트의 컨텐츠를 표시하려고합니다. 내 페이지에 스크립트와 CSS를 삽입 Jumi를 사용하여 문서에 HTML을 가져온 거에요 http://jsfiddle.net/2BHLd/968/joomla 템플릿에 스크립트가로드되지 않습니다.

$(function() { 
$(".DateDiv").each(function(index) { 
    var sRange = $(this).find(".DateRange").html(); 
    var arrTemp = sRange.split(" to "); 
    var dtFrom = new Date(arrTemp[0]); 
    var dtTo = new Date(arrTemp[1]); 
    var dtNow = new Date(); 
    if (dtNow >= dtFrom && dtNow <= dtTo) 
     $(this).show(); 
    }); 
}); 

: 여기에 작동하고 jsfiddle입니다. CSS는 html이 숨겨져 있기 때문에 정상적으로 작동하는 것으로 보이지만, 어떤 이유로 현재 날짜가 날짜 범위 내에 있어도 스크립트가 텍스트를 표시하지 않는 것으로 보입니다.

http://askc.org/galacticos/index.php/events/upcoming-events

이 템플릿 Joomla 내가 할 수있는 것을 제한하는 것,하지만 난 그냥 어딘가에 단순한 실수를 한 생각 그리고 난 아무 소용이 그것을 해결하기 위해 노력 두 시간 보냈어요. 미리 감사드립니다!

+0

Jumi 코드를 어떻게 사용하고 있습니까? Jumi는 코드를 메뉴 항목, 모듈 항목 또는 기사의 단문으로 링크 된 세 위치에 추가 할 수있게합니다. 어느 쪽을 사용하고 있습니까? –

+0

@PatrickEvans 설정 위치가있는 .js 파일을 가리키는 jumi 모듈이 있는데 기사의 위치가로드됩니다. 나는 실제로이 문제를 해결하기 위해이 사이트에서 몇 가지 다른 스크립트를 사용했다. 텍스트가 숨겨져있는 CSS도 파일에 있습니다. 그래서 적어도 그것을보고 있다는 것을 알고 있습니다. 도와 주셔서 감사합니다! – chbrandt

답변

0

Joomla가 레거시 이유로 mootools에 예약하는 동안 을 사용하고 있습니다.

단순히 $jQuery와의 모든 발생 그래서 위의 코드는 모양을 바꾸기 : 당신이 만약 정말로 $ 접두사를 가진 것처럼, 대안으로

jQuery(function() { 
jQuery(".DateDiv").each(function(index) { 
    var sRange = jQuery(this).find(".DateRange").html(); 
    var arrTemp = sRange.split(" to "); 
    var dtFrom = new Date(arrTemp[0]); 
    var dtTo = new Date(arrTemp[1]); 
    var dtNow = new Date(); 
    if (dtNow >= dtFrom && dtNow <= dtTo) 
     jQuery(this).show(); 
    }); 
}); 

, 당신은

으로 재 할당 할 수
$ = jQuery; 

스크립트 바로 전에; 하지만 이것은 mootools 인 $에 의존하는 다른 기능을 망칠 수 있습니다. Joomla가 선호하는 방식이 아닙니다.

마지막으로, 당신의 코드는 sRange는 두 개 이상의 항목을 포함하지 않는 경우
var dtTo = new Date(arrTemp[1]); 

휴식 것이며, arrTemp 항목이 날짜로 변환 할 수없는 경우 다음과 같은 비교는 예측할 수없는 결과를 얻을 매우 내성이 없습니다.

+0

감사합니다,이 완벽하게 작동, Joomla가 $를 어떻게 대했는지 알지 못했습니다. 나는 첫 번째 옵션이 가장 좋습니다. 코드에 대한 메모도 감사합니다. – chbrandt

+0

위의 질문에 동의하셨습니까? –

관련 문제