2013-03-30 9 views
0

jQueryUI에 종속 된 carousel 플러그인을 사용합니다. 로드하려면 시장에서 Load jQueryUI addon을 사용하십시오.concrete5 - jQueryUI 편집 모드에서

수정 -보다 정확합니다. 무슨 일입니다 :

problematic.js 직접로드 A. - 어떤 if없이 : 사용자가 로그인하고 dissapers ("편집", "대시 보드") 상단 바의 컨텐츠 때 회전 목마가 작동하지 않습니다, 심지어 그래서 편집 모드로 이동하는 것은 불가능 problematic.js이 같은 조건로드

B. :

if (!$c->isEditMode()){ ?> 
    <script type="text/javascript" src="problematic.js"></script> 
<?php } ?> 

을 위와 같이 정확하게 : 사용자가 로그인하고 상단 바 ("편집"의 내용 때 회전 목마가 작동하지 않습니다 , "대시 보드") 이력서이므로 편집 모드로 들어가는 것은 불가능합니다.

problematic.js이 같은 조건로드

C. :.

상단 바의
<?php $u = new User(); 
if (!$u->isRegistered()){ ?> 
    <script type="text/javascript" src="problematic.js"></script> 
<?php } ?> 

내용은 사용자가 로그인 할 때 실행되지 않습니다 편집 모드하지만 분명히 JS 파일에 페이지를 설정하는 것이 가능하다 존재

그러나 그것은 내가 원하는 게 아니에요 - 내가 언제 스크립트가 작동되고 싶어요 :

  1. 사용자가 로그인하지 않은,
  2. 사용자가에 로그인 웹 사이트이지만 페이지가 편집 모드가 아닙니다.

페이지가 편집 모드 인 경우에만 스크립트를 실행하지 마십시오.

어떻게해야합니까?

편집 :

<?php 
    defined('C5_EXECUTE') or die(_('Access Denied.')); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <?php Loader::element('header_required');?> 
     <script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/respond.min.js"></script> 
     <script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/jquery.ui.rcarousel.min.js"></script> 
     <?php $u = new User(); 
    if (!$u->isRegistered()){ ?> 
     <!-- To prevent conflicts with C5 jQuery UI when in edit mode -->   
     <script type="text/javascript" src="<?php print $this->getThemePath(); ?>/js/home.js"></script> 
    <?php } ?> 
     <link rel='stylesheet' type='text/css' href="<?php print $this->getStyleSheet('css/style.css'); ?>" /> 
     <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1' /> 
    </head> 
    <body <?php if ($c->isEditMode()) { ?> class='editmode' <?php } ?>> 
     <div class='c5wrapper'> 
      <div id='container'> 
       <div id='content-promo' class='content-promo full-width'> 
        <div id='carousel-wrapper' class='content-promo carousel-wrapper'> 
         <?php 
          $a = new Area('Carousel'); 
          $a->display($c); 
         ?> 
        </div> <!-- End of carousel wrapper --> 

        <a href='#' id='ui-carousel-prev' class='carousel-controls'><span class='carousel-control-text'>Prev</span></a> 
        <a href='#' id='ui-carousel-next' class='carousel-controls'><span class='carousel-control-text'>Next</span></a> 

       </div> <!-- End of content promo --> 
<?php $this->inc('elements/footer.php'); ?> 

답변

0

어떻게 첫 번째 코드 예제는 작동하지 않습니다 여기에 PHP/HTML 코드의 일부? 당신이 expet 무엇을하지 않습니다? 아니면 전혀 아무것도하지 않습니까? 이 기능적으로 작동한다고 가정하면 다음 수행 할 작업에 대한 전체 솔루션이 될 것이다 (즉, 편집 모드에서 사용하지 않을 때는 해당 태그를 추가) : 첫 번째 코드 예제가 작동하지 않는 경우

<?php $u = new User(); 
if ($u->isRegistered() && ! $c->isEditMode()) { ?> 
    <script type="text/javascript" src="problematic.js"></script> 
<?php } ?> 

, 다음 그것의 가능한 $ c가 재정의되었거나 다른 것이 동일하지 않을 수 있습니다.

+0

1. 첫 번째 코드 예제를 사용할 때 : A. 사용자가 기록하지 않음 : 캐 러셀 작동, B. 사용자가 기록했지만 편집 모드가 아닌 경우 - 캐 러셀은 수행합니까? 작동하지 않음 C. 사용자가 로그인하고 편집 모드에서 - 회전식 슬라이드 쇼가 작동하지 않음 2. 사과로 충분히 구체적이지 않았습니다. 사용자가 로그인하지 않은 상태에서 'problematic.js'를 실행하고 싶을 때 편집 모드가 아니며 편집 모드에서 실행하지 않으려 고합니다. –

+0

약간의 원래 질문을 변경해야합니다. 몇 일 전만해도 첫 번째 코드 예제가 사용되었을 때 맨 위 표시 줄의 내용이 사라졌습니다. 난 그냥 그것을 확인한 지금은 유일한 efect 코드는 'problematic.js'에서 사용자가 기록 할 때 실행되지 않습니다 (회전 목마가 작동하지 않습니다) –

+0

내 두 번째 의견을 무시하시기 바랍니다 - 내가 서버에 잘못된 파일을 업로드하고 지금 당장 원래의 질문이 편집되고 더 명확 해지기를 바랍니다. –

관련 문제