Smarty循环在1之后停止

时间:2014-02-05 21:02:16

标签: smarty

我正在编辑一个聪明的网站。我得到了适用于图库的代码,但是每页只显示1个图像...如何在任何循环中都没有限制。我不清楚聪明的想法,cud any1帮助我那个?

<div class="galleryConteiner">
<h1>{$gallery.gallery.desc.title}</h1>
<div class="text">{$gallery.gallery.desc.description}</div>
<div class="imagesConteiner">
    {foreach from=$gallery.gallery.images item=image name=gallery_loop}
        {if $image.type == "image"}  
          <a class="galleryThumb" href="{$image.image_link}" rel="lightbox[gallery]">
            <img src="{$image.thumb_link}" />
            {if $image.title}<span class="imageCaption">{$image.title}</span>{/if}
          </a>
        {elseif $image.type == "film" || $image.type == "youtube_film" || $image.type == "vimeo_film"}
          <a href="{$image.url}"><img src="{$image.remote_thumb}"/></a>
        {elseif $image.type == "uploaded_film"}
            <a href="{$image.url}"><img src="{$image.thumb_link}" /></a>
        {/if}   

    {/foreach}
    <div class="clearFix"></div>
</div>

我猜这是负责该画廊的php文件

  <?php

  require_once( dirname( __FILE__ ).'/../../libs/class/mtGalleryDAO.php' );
  require_once( dirname( __FILE__ ).'/../../libs/class/mtsPager.php' );
  require_once( dirname( __FILE__ ).'/../../libs/class/mtTreesDAO.php' );
  require_once( dirname( __FILE__ ).'/../../libs/class/mtAdditionalMenuDAO.php' );


  mtGalleryDAO::$pid = $__MOD_ENVIROMENT[ 'pid' ];

  $mtConf = mtConfigurationManager::getInstance();
  $configPrefix = "cms.module.$__MOD_NAME.$__MOD_EVENT.$__MOD_RUN.";

  $skip_request = $mtConf->getValue( $configPrefix.'skip_request', 0 );
  $output_context = $mtConf->getValue( $configPrefix.'output_context', 'gallery' );
   $default_action = $mtConf->getValue( $configPrefix.'action', 'show' );
 $default_id = $mtConf->getValue( $configPrefix.'id' , 0 );
 $default_category = $mtConf->getValue( $configPrefix.'category' , 0 );
   $page_size = $mtConf->getValue( $configPrefix.'page_size' , 10 );
 $page_size_gallery = $mtConf->getValue( $configPrefix.'page_size_gallery' , 1000 );
 $action = ( $skip_request ) ? $default_action : $__MOD_ENVIROMENT[ 'action' ] ; 
 $id = ( $skip_request ) ? $default_id : $__MOD_ENVIROMENT[ 'params' ][ 'id' ];
  $result = array();
  switch( $action )
  {
  case 'show':
    $page = ( !empty( $__MOD_ENVIROMENT[ 'params' ][ 'page' ] ) ) ? $__MOD_ENVIROMENT[ 'params' ][ 'page' ] : 1 ;

    $result[ 'gallery' ] = mtGalleryDAO::getGalleryFullInfo( $id , true , $page, $page_size);
    $result[ 'pagination' ] = mtsPager::pagination( $page, $page_size, mtGalleryDAO::countGalleryImages( $id , true ));

    $result[ 'next' ] = mtGalleryDAO::getNextGallery($id);
    $result[ 'prev' ] = mtGalleryDAO::getPrevGallery($id);        

    $id = isset($result[ 'gallery' ]['images'][0]['id'])?(int)$result[ 'gallery' ]['images'][0]['id']:null;
    $sid = isset($result[ 'gallery' ]['desc']['sid'])?(int)$result[ 'gallery' ]['desc']['sid']:null;

    mtSeoManager::getSeoData(&$result, $sid, $__MOD_ENVIROMENT[ 'pid' ]);

    if (mtRedirecter::isFound($configPrefix ,$id, $output_context, $result))
        mtRedirecter::checkRedirect($sid,$__MOD_ENVIROMENT[ 'pid' ],'g'.$id);
    break;
case 'image':                        
    $result[ 'image' ][ 'currentImage' ] = mtGalleryDAO::getImageShortInfo( $__MOD_ENVIROMENT[ 'params' ][ 'id' ] );

    $id = isset($result[ 'image' ][ 'currentImage' ]['id'])?(int)$result[ 'image' ][ 'currentImage' ]['id']:null;
    $sid = isset($result[ 'image' ][ 'currentImage' ]['sid'])?(int)$result[ 'image' ][ 'currentImage' ]['sid']:null;

    mtSeoManager::getSeoData(&$result, $sid, $__MOD_ENVIROMENT[ 'pid' ]);

    if (mtRedirecter::isFound($configPrefix ,$id, $output_context, $result))
    {
        mtRedirecter::checkRedirect($sid,$__MOD_ENVIROMENT[ 'pid' ],'i'.$id);           

        $prevId = mtGalleryDAO::prevImageId( $__MOD_ENVIROMENT[ 'params' ][ 'id' ], true ); 
        if( $prevId > 0 )
            $result[ 'image' ][ 'prevImage' ] = mtGalleryDAO::getImageShortInfo( $prevId );
        $nextId = mtGalleryDAO::nextImageId( $__MOD_ENVIROMENT[ 'params' ][ 'id' ], true ); 
        if( $nextId > 0 )
            $result[ 'image' ][ 'nextImage' ] = mtGalleryDAO::getImageShortInfo( $nextId );            
        $result[ 'image' ][ 'gallery' ] = mtGalleryDAO::getGalleryShortInfo( $result[ 'image' ][ 'currentImage' ][ 'gallery_id' ] );
    }
    break;
case 'list':        
    if (!isset($__MOD_ENVIROMENT['params']['page']) || $__MOD_ENVIROMENT['params']['page'] == 0)
        $page = 1;
    else
        $page = $__MOD_ENVIROMENT['params']['page'];

    $result = array();

    $result[ 'page' ] = $page;
    $result[ 'page_number' ] = mtGalleryDAO::listGalleryPageNumber( $__MOD_ENVIROMENT[ 'params' ][ 'category_id' ] , $page_size, true); 

    //paginacja:
    $result[ 'pagination' ] = array();
    if ($page > 0)
    {
    $result[ 'prev' ] = $page - 1;
    if (!isset($__MOD_ENVIROMENT['params']['page']) || $__MOD_ENVIROMENT['params']['page'] == 0)
        $result[ 'prev_url'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].',page='.$result['prev'];
    else
        $result[ 'prev_url'] = 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'],'page=')).'page='.$result['prev'];
    }        
    if ($page < $result[ 'page_number' ])
    {
            $result[ 'next' ] = $page + 1;
    if (!isset($__MOD_ENVIROMENT['params']['page']) || $__MOD_ENVIROMENT['params']['page'] == 0)
        $result[ 'next_url'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].',page='.$result['next'];
    else
        $result[ 'next_url'] = 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'],'page=')).'page='.$result['next'];
    }

    //$pagination_counter =  mtGalleryDAO::getGalleryPaginationCounter( $__MOD_ENVIROMENT[ 'params' ][ 'category_id' ]) ;

    for ($i = 1; $i<= $result[ 'page_number' ]; $i++)
    {
    if (!isset($__MOD_ENVIROMENT['params']['page']) || $__MOD_ENVIROMENT['params']['page'] == 0)
            $result[ 'pagination' ][] = array(
                'url' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].',page='.$i,
                'selected' => $page == $i,
            );
    else
            $result[ 'pagination' ][] = array(
                'url' => 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'],'page=')).'page='.$i,
                'selected' => $page == $i,
            );
    }

    $result[ 'galleries' ] = mtGalleryDAO::listGallery( $__MOD_ENVIROMENT[ 'params' ][ 'category_id' ] , $page -1, $page_size, true);                

foreach ( $result[ 'galleries' ] as $key => $gallery )
{
    $result[ 'galleries' ][ $key ][ 'images' ] = mtGalleryDAO::getGalleryImages( $gallery[ 'id' ], true );
}

    $additional_menu = mtAdditionalMenuDAO::getByItemAndModule($__MOD_ENVIROMENT[ 'params' ][ 'category_id' ], mtAdditionalMenuType::GALLERY_CATEGORY, $__MOD_ENVIROMENT[ 'pid' ]);

    if(isset($additional_menu[0]['menu_id'])){
        $result[ 'additional_menu' ] = $additional_menu[0];
        $result[ 'additional_menu_tree' ] = mtTreesDAO::getTemplateTree((int)$additional_menu[0]['menu_id']);
    }

    break;
case 'latestImages':
    $number_of_latest_images    = $mtConf->getValue( $configPrefix.'number_of_latest_images' , 10 );
    $category_id                = $mtConf->getValue( $configPrefix.'category_id' , 0 );

    $result[ 'images' ] = mtGalleryDAO::latestImages( $number_of_latest_images, $category_id);
break;

case 'randomImages':
    $page_size      = $mtConf->getValue( $configPrefix.'page_size' , 10 );
    $category_id    = $mtConf->getValue( $configPrefix.'category_id' , 0 );

    $result[ 'images' ] = mtGalleryDAO::randomImages( $page_size, $category_id);
break;
}

  $__MOD_RESULT = $result;
 $__MOD_OUTPUT_CONTEXT = $output_context;

  ?>

1 个答案:

答案 0 :(得分:1)

我认为在你正在使用的CMS的配置文件(或数据库条目)中,page_size可能设置为1.如果你想进行快速测试,请写:

$page_size=5; 

之后

 $page_size = $mtConf->getValue( $configPrefix.'page_size' , 10 );

如果它显示多个图像,那就是它。恢复原始文件并搜索存储此值的位置,以便您可以在不修改源代码的情况下进行更改。