2013-07-01 19 views
0

我已經成功地創建了呼叫一些PHP函數成功得到一個旋轉木馬的HTML頁面運行PHP函數腳本沒有得到調用的Joomla

<?php 

    function getPictureType($ext) { 
     if (preg_match('/jpg|jpeg/i', $ext)) { 
      return 'jpg'; 
     } else if (preg_match('/png/i', $ext)) { 
      return 'png'; 
     } else if (preg_match('/gif/i', $ext)) { 
      return 'gif'; 
     } else { 
      return ''; 
     } 
    } 



    function getPictures($id) { 
     global $max_width, $max_height; 
     $dir="../../images/albums/album".$id."/"; 
     $i = 0; 
     if (is_dir($dir)) { 
      if ($dh = opendir($dir)) { 

       echo '<ul >'; 


       while (($file = readdir($dh)) !== false) { 

       if (!is_dir($file)) { 

        $absolute_path = $dir.'thumbs'; 
        $split = explode('.', $file); 
        $ext = $split[count($split) - 1]; 

        $textfile = $dir.$split[0].'.txt'; 


        if (file_exists($textfile)) { 
         $description = file_get_contents($textfile); 

        } 

        if (($type = getPictureType($ext)) == '') { 
         continue; 
        } 

        if ($i == 0) { 
        echo $i; 
        echo '<a href="'.$dir.$file.'" rel="lightbox['.$id.']" title="'.$description.'"><div class="linkicon"><i class="icon-plus-circled"></i></div></a>';  
        } 
        else 
        { 
         echo $i;      
        echo '<a href="'.$dir.$file.'" rel="lightbox['.$id.']" title="'.$description.'"></a>'; 
        } 
       $i=$i+1;  
       } 

       } 

      echo '</ul>'; 
     closedir($dh); 
    } 
    } 
} 
?> 

然後我打電話給他們在HTML

<div class="hovercover" style="opacity: 0;"> 
<?php getPictures(1); ?> 
</div> 

然後建立燈箱沒有問題。

我現在已經嘗試在default.php文件中使用相同的代碼創建一個模塊,但<$php getPictures(1); ?>函數未被調用,並且未生成lightbox圖像。如default.php看起來像這樣

defined('_JEXEC') or die('Restricted access'); // no direct access 

// get the document object 
$doc =& JFactory::getDocument(); 

// add your stylesheet 
$doc->addStyleSheet('modules/mod_hot_joomla_carousel/tmpl/style.css'); 
// add lightbox stylesheet 
$doc->addStyleSheet('modules/mod_hot_joomla_carousel/tmpl/lightbox.css'); 

?> 

<?php if ($enablejQuery!=0) { ?> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8./jquery.min.js"></script> 
<?php } ?> 
<!-- Carousel plugin --> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_hot_joomla_carousel/js/jquery.carouFredSel-6.2.1-packed.js"></script> 
<!-- lightbox plugins --> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_hot_joomla_carousel/js/lightbox.js"></script> 


<!-- optionally include helper plugins --> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules /mod_hot_joomla_carousel/js/helper-plugins/jquery.mousewheel.min.js"></script> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_hot_joomla_carousel/js/helper-plugins/jquery.touchSwipe.min.js"></script> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_hot_joomla_carousel/js/helper-plugins/jquery.transit.min.js"></script> 
<script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_hot_joomla_carousel/js/helper-plugins/jquery.ba-throttle-debounce.min.js"></script> 
<script type="text/javascript"> 
    jQuery(function() { 
// Scrolled by user interaction 
jQuery('#foo2').carouFredSel({ 
auto: false, 
    prev: '#foo2_prev', 
next: '#foo2_next', 
mousewheel: true, 
swipe: { 
    onMouse: true, 
    onTouch: true 
     } 
}); 
    }); 
    </script> 


    <?php 

function getPictureType($ext) { 
    if (preg_match('/jpg|jpeg/i', $ext)) { 
     return 'jpg'; 
    } else if (preg_match('/png/i', $ext)) { 
     return 'png'; 
    } else if (preg_match('/gif/i', $ext)) { 
     return 'gif'; 
    } else { 
     return ''; 
    } 
} 



function getPictures($id) { 
    global $max_width, $max_height; 
    $dir="../../images/albums/album".$id."/"; 
    $i = 0; 
    if (is_dir($dir)) { 
     if ($dh = opendir($dir)) { 

      echo '<ul >'; 


      while (($file = readdir($dh)) !== false) { 

      if (!is_dir($file)) { 

       $absolute_path = $dir.'thumbs'; 
       $split = explode('.', $file); 
       $ext = $split[count($split) - 1]; 

       $textfile = $dir.$split[0].'.txt'; 


       if (file_exists($textfile)) { 
        $description = file_get_contents($textfile); 

       } 

       if (($type = getPictureType($ext)) == '') { 
        continue; 
       } 

       if ($i == 0) { 
       echo $i; 
       echo '<a href="'.$dir.$file.'" rel="lightbox['.$id.']" title="'.$description.'"><div class="linkicon"><i class="icon-plus-circled"></i></div></a>';  
       } 
       else 
       { 
        echo $i;      
       echo '<a href="'.$dir.$file.'" rel="lightbox['.$id.']" title="'.$description.'"></a>'; 
       } 
      $i=$i+1;  
      } 

      } 

     echo '</ul>'; 
    closedir($dh); 
} 
} 
} 
?> 


<div class="divide30"></div> 

<div class="wrapper whitebg"> 

      <div class="divide20"></div> 
     <div class="image_carousel"> 
     <div class="overflowholder" style="height: 350px;"> 
      <ul id="foo2" style="width: 1920px; left: 0px; height: 303px;"> 
       <!-- Image One --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album1/thumbs/thumb1.jpg" title="Image 1"/> 
        <div class="hovercover" style="opacity: 0;"> 
          <?php getPictures(1); ?>    
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name1; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description1; ?> 
        </div> 
        </div> 
        </li> 
       <!-- Image Two --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album2/thumbs/thumb2.jpg" title="Image 2"/> 
        <div class="hovercover" style="opacity: 0;"> 
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name2; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description2; ?> 
        </div> 
        </div> 
        </li> 
       <!-- Image Three --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album3/thumbs/thumb3.jpg" title="Image 3"/> 
        <div class="hovercover" style="opacity: 0;"> 
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name3; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description3; ?> 
        </div> 
        </div> 
        </li> 
       <!-- Image Four --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album4/thumbs/thumb4.jpg" title="Image 4"/> 
        <div class="hovercover" style="opacity: 0;"> 
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name4; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description4; ?> 
        </div> 
        </div> 
        </li> 
       <!-- Image Five --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album5/thumbs/thumb5.jpg" title="Image 5"/> 
        <div class="hovercover" style="opacity: 0;"> 
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name5; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description5; ?> 
        </div> 
        </div> 
        </li> 
       <!-- Image Six --> 
       <li style="width: 223px;"> 
        <div class="mediaholder"> 
        <div class="mediaholder_innerwrap"> 
         <img src="/../images/albums/album6/thumbs/thumb6.jpg" title="Image 6"/> 
        <div class="hovercover" style="opacity: 0;"> 
        </div> 
        </div> 
        </div> 
        <div class="detailholder"> 
        <div class="divide20"></div> 
        <div class="projects-title"> 
        <a href="#"><?php echo $name6; ?></a> 
        </div> 
        <div class="divide15"></div> 
        <div class="projects-desc"> 
        <?php echo $description6; ?> 
        </div> 
        </div> 
        </li>   
      </ul> 
      </div> 
      </div> 
      <div class="clearfix"></div> 
      <a class="prev" id="foo2_prev" href="#"><span>prev</span></a> 
      <a class="next" id="foo2_next" href="#"><span>next</span></a> 


    </div> 

爲什麼getPictures功能沒有得到所謂的,是它的PHP函數的IM調用它們的頁面

回答

0

的方式,你defind $mosConfig_live_site

位置或

嘗試讀取http://docs.joomla.org/Creating_a_simple_module
也嘗試給你的每一個包含文件完整的URL /路徑

,如: - JURI::root().'css/joomla.css';

+0

這會導致PHP的功能不工作,其餘的旋轉木馬工作完美,除非我通過getPictures調用創建燈箱 –

+0

檢查你的所有腳本和CSS包含正確和運行? –

+0

是的所有腳本js/css都在工作,唯一沒有工作的是這兩個PHP函數getPictures和getPictureType。除非嘗試使用「<?php getPictures(1)」調用此函數,否則傳送帶完美工作。 ?>」 –