Show
Ignore:
Timestamp:
04/16/08 10:50:21 (20 months ago)
Author:
takayama
Message:

Fixed BugId:76389
* Loop tags does not add 'glue', if row in loop tag was empty

  • MTFor
  • MTLoop
  • MTTags
  • MTEntryTags
  • MTEntries
  • MTEntryCategories
  • MTCategories
  • MTEntryAdditionalCategories
  • MTParentCategories
  • MTAssetTags
  • MTPagerBlock
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/release-35/php/lib/block.mtloop.php

    r1174 r1926  
    77 
    88function smarty_block_mtloop($args, $content, &$ctx, &$repeat) { 
    9     $localvars = array('__loop_keys', '__loop_values'); 
     9    $localvars = array('__loop_keys', '__loop_values', '__out'); 
    1010 
    1111    if (!isset($content)) { 
     
    6767        $counter = 1; 
    6868        $ctx->stash('__loop_values', $value); 
     69        $ctx->stash('__out', false); 
    6970    } 
    7071    else { 
     
    7273        $keys = $ctx->stash('__loop_keys'); 
    7374        $value = $ctx->stash('__loop_values'); 
     75        $out = $ctx->stash('__out'); 
    7476        if (!isset($keys) || $keys == 0) { 
    7577            $ctx->restore($localvars); 
    7678            $repeat = false; 
     79            if (isset($args['glue']) && $out && !empty($content)) 
     80                $content = $args['glue'] . $content; 
    7781            return $content; 
    7882        } 
     
    97101        } 
    98102    } 
    99     if (array_key_exists('glue', $args)) { 
    100         if (1 < $counter) 
    101             $content = $content . $args['glue']; 
     103    if (isset($args['glue']) && !empty($content)) { 
     104        if ($out) 
     105            $content = $args['glue'] . $content; 
     106        else 
     107            $ctx->stash('__out', true); 
    102108    } 
    103109    if ( 0 === count($keys) )