Jump to content

Вывод некоторых свойств на странице товара


Go to solution Solved by Kors,

Recommended Posts

Задумка следующая: некоторые свойства товара иллюстрировать иконкой и вывести отдельно от общего списка свойств, естественно проверив перед выводом заполнено ли значение нужного св-ва.

 

Следующий код не работает, увы(

179 - айди свойства в БД.

Свойство активно в этой категории товаров

{if $product->features[179]->value !=''}
    <div class="pic-prop">
        <span class="i-prop i-dive"></span>
        <span class="pp-value">{$product->features[179]->value}</span>
    </div>
{/if}

Simpla 2.3.6.

 

Что я делаю не так?)

Link to post
Share on other sites

А где foreach? Это первое Но это может сработать, т.к. указан явный код свойства. Может оно и отображается, но под другими слоями. Куда выводят классы-то не понятно. И условие зачем такое?  Делай

{if $product->features}

А в foreach уже проверяй на значение.

Link to post
Share on other sites
{if $product->features}
   {foreach $product->features as $f}
        {if $f[180]->value !=''}
            <div class="pic-prop">
                <span class="i-prop i-fall"></span>
                <span class="pp-value">{$f[180]->value}</span>
            </div>
        {/if}
        Тут еще 4 подобных блока с проверкой на заполненность значения с разными айди
    {/foreach}
{/if}

Так тоже не работает

Link to post
Share on other sites

Тут еще 4 подобных блока с проверкой на заполненность значения с разными айди

Так ты на заполненость проверешь в форече, зачем еще проверять?

Фореч тебе выбирает все свойства данного товара, на заполненность ты проверил в этом цикле, зачем еще?

А вообще, лучше проверять

{if !empty(...)}
Link to post
Share on other sites

Мне кажется, Вы не совсем поняли задачу, стоящую перед мною.

Мне нужно вывести в отдельные блоки 4-5 свойств из 25-30 имеющихся)

То есть имеется свойство - глубина погружения (в каких-то камерах ЗАПОЛНЕНО, в каких то нет)

Если оно заполнено то мне нужно вывести иконку, а под ней значение для конкретной камеры.

 

Как мне сделать это для кокретного свойства с айди, предположим 180?)

Link to post
Share on other sites

Всё равно не понятно, ты что, каждому свойству в коде будешь ID забивать? А если добавится или поменяется?

Kors, а почему feature_id, а не id?

Link to post
Share on other sites

Kors и Koteyka - спасибо огромное)

 

 

Всё равно не понятно, ты что, каждому свойству в коде будешь ID забивать? А если добавится или поменяется?

 

Там эти свойства вряд ли поменяются или добавятся, так как во-первых - это основные свойства, а во вторых - это я обговорил зараннее. Да и поменять их дело одной-двух минут. Со спрайтом иконок дольше возится придется, нежели чем с кодом)

 

кстати так

f->id == 180

не отрабатывает. Сам уже пробовал.

Link to post
Share on other sites
  • 6 months later...

Вывод избранных свойств в списках товаров

Предлагается способ вывода в списках товаров нескольких избранных свойств (с указанными ID).

Создавалось для версии 2.3.6.

Скорее всего, годится и для других версий 2.x

http://simpla-tuning.com/products/vyvod-izbrannyh-svojstv-v-spiskah-tovarov

Link to post
Share on other sites
  • 6 months later...

{if $product->features}

   {foreach $product->features as $f}

        {if $f->feature_id==180 && !empty($f->value)}

           {$f->value}

        {/if}

    {/foreach}

{/if}

 

 

 

Спасибо большое за код.

Не подскажите, а как тоже самое отобразить в каталоге (products.tpl) ?

Link to post
Share on other sites

 

 Не подскажите, а как тоже самое отобразить в каталоге (products.tpl) ?

А зачем свойства в списке? Если у одного товара много свойств, а у другого пару или вообще нет, то представь какой кавардак на странице получится?

Link to post
Share on other sites

А зачем свойства в списке? Если у одного товара много свойств, а у другого пару или вообще нет, то представь какой кавардак на странице получится?

Дело в том, что в коде уже идет проверка, есть ли то или иное свойство. Поэтому данная проверка не создаст хаос ))

Link to post
Share on other sites

Ваш код выше самый раз в моем случай, т.к. отображаются именно те свойства, что выбраны. а по ссылке там отображаются первые 3-4 из общих характеристик.

 

вот как теперь прикрутить Ваш код в products.tpl ?

Link to post
Share on other sites

Только не смейтесь, но я сделал так )) :

в product.tpl вставил

{include file='short-description.tpl'}

а в него дособирал свойств ))

 {if $product->features}
   {foreach $product->features as $f}
   
   {if $f->feature_id==7 && !empty($f->value)}
           <br>• вес {$f->value}, 
        {/if}
    {if $f->feature_id==8 && !empty($f->value)}
           ШxВxТ {$f->value}
        {/if}
            
   {if $f->feature_id==35 && !empty($f->value)}
           <br>• аккумулятор {$f->value}
        {/if}
        
   {if $f->feature_id==25 && !empty($f->value)}
           <br>• {$f->value}
        {/if}
        
   {if $f->feature_id==165 && !empty($f->value)}
           <br>• память {$f->value}
        {/if} 
        
   {if $f->feature_id==16 && !empty($f->value)}
           <br>• камера {$f->value}
        {/if}        
        
   {if $f->feature_id==11 && !empty($f->value)}
           <br>• экран {$f->value}, 
        {/if}
        {if $f->feature_id==12 && !empty($f->value)}
           разрешение {$f->value}
        {/if}
        {if $f->feature_id==4 && !empty($f->value)}
           {$f->value}
        {/if}
        {if $f->feature_id==2 && !empty($f->value)}
           •  {$f->value},
        {/if}
    {/foreach}
{/if}

так отображается отлично в карточке товара. Теперь хочу, чтобы свойства эти и в каталоге показались, тоже с

{include file='short-description.tpl'}

или быть может иначе?!

Edited by DarAmal
Link to post
Share on other sites

Можно инклудом, но стили нужно будет переделать уже под список. Хотя, у тебя их там и нет. :)

Edited by koteyka
Link to post
Share on other sites

Я не помню точно, а свойства каждого товара в сам шаблон у нас передаются из ProductsView.php? По моему нет. В таком случае нужно будет ProductsView.php допиливать.

Edited by koteyka
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...