Сценарий PHP / Smarty Shop Script - PullRequest
0 голосов
/ 27 октября 2009

Я пытаюсь заставить Shop-Script Free от Webasyst отображать одну и ту же корзину на 2 разных сайтах. Я хочу использовать только один раздел администратора.

Я могу сделать так, чтобы категории, названия продуктов, количество продуктов, цены и макет правильно отображались на обоих веб-сайтах, но не могу отобразить изображения продуктов на втором веб-сайте (они хорошо отображаются на «основном» веб-сайте ).

Код, с которым мне нужна помощь, находится в операторах if для $ product_info [7] и $ product_info [5]. Они возвращаются как ложные (0) и не отображаются.

{if $product_info[7]}
<a href="index.php?productID={$product_info[11]}">
<img src="products_pictures/{$product_info[7]}" alt="{$product_info[1]|replace:'"':'& quot;'}" border=0 /><br />
{$smarty.const.MORE_INFO_ON_PRODUCT}
</a>
{else}
{if $product_info[5]}
<a href="index.php?productID={$product_info[11]}">
<img src="products_pictures/{$product_info[5]}" alt="{$product_info[1]|replace:'"':'&  quot;'}" border=0 />
{$smarty.const.MORE_INFO_ON_PRODUCT}
</a>
{/if}
{/if}

Я пробовал {if $product_info[7] ne ''} и {if $product_info[7] ne NULL}

Любые мысли или помощь будут с благодарностью.

Ответы [ 2 ]

0 голосов
/ 27 октября 2009

Я думаю, что вы должны использовать точечную нотацию для индексации массивов в smarty. Итак, попробуйте это:

{if $product_info.7}
<a href="index.php?productID={$product_info.11}">
<img src="products_pictures/{$product_info.7}" alt="{$product_info.1|replace:'"':'& quot;'}" border=0 /><br />
{$smarty.const.MORE_INFO_ON_PRODUCT}
</a>
{else}
{if $product_info.5}
<a href="index.php?productID={$product_info.11}">
<img src="products_pictures/{$product_info.5}" alt="{$product_info.1|replace:'"':'&  quot;'}" border=0 />
{$smarty.const.MORE_INFO_ON_PRODUCT}
</a>
{/if}
{/if}

Однако я признаю, что не пробовал так, как вы это делаете. Я бы рекомендовал использовать ассоциативный массив вместо числового индекса. Способ Smarty разработан, он работает намного лучше, если ваши индексы названы.

0 голосов
/ 27 октября 2009

Я почти уверен, что с Smarty вы должны использовать isset для проверки на нулевое значение. Так что попробуйте:

{if isset($product_info[5]) && $product_info[5] != ""}
...