2013-09-15 3 views
0

Я пытаюсь выполнить итерацию по массиву с именем $module_content в Smarty/php. Когда выполняется определенное условие, я хочу присвоить значение этому значению.присваивать значение массиву в smarty php

Не знаю, почему, но мой подход не работает.

{php} 
    global $module_content; 
    $nopic = "./images/nopic.jpg"; 

    for ($i=0;$i<count($module_content);$i++) { 
     if ($module_content [$i]['PRODUCTS_IMAGE'] == '') { 
      $module_content [$i]['PRODUCTS_IMAGE'] = $nopic; 
     } 
     else { 
      if (!file_exists ($module_content [$i]['PRODUCTS_IMAGE'])) 
       $module_content [$i]['PRODUCTS_IMAGE'] = $nopic; 
     } 
    } 

{/php} 

Smarty-Template запрашивает var PRODUCT_IMAGE в рамках итерации.

{foreach name=aussen item=module_data from=$module_content} 
    <img src="{$module_data.PRODUCTS_IMAGE}" alt="" /> 
{/foreach} 

Любая помощь приветствуется ...

Спасибо заранее.

ответ

-1
{foreach $module_content as $module_data} 
    {if $module_data.PRODUCTS_IMAGE|file_exist } {* php function file_exist() must be accessible from Smarty*} 
     <img src="{$module_data.PRODUCTS_IMAGE}" alt="" /> 
    {else} 
     <img src="./images/nopic.jpg" alt="" /> 
    {/if} 
{/foreach} 
+1

Просьба представить объяснение с кодом, чтобы другие могли узнать его. – RedEyedMonster

Смежные вопросы