Ilya Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 Задумка следующая: некоторые свойства товара иллюстрировать иконкой и вывести отдельно от общего списка свойств, естественно проверив перед выводом заполнено ли значение нужного св-ва. Следующий код не работает, увы(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. Что я делаю не так?) Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 А где foreach? Это первое Но это может сработать, т.к. указан явный код свойства. Может оно и отображается, но под другими слоями. Куда выводят классы-то не понятно. И условие зачем такое? Делай {if $product->features} А в foreach уже проверяй на значение. Цитата Ссылка на сообщение Поделиться на другие сайты
Ilya Опубликовано 14 сентября, 2014 Автор Жалоба Поделиться Опубликовано 14 сентября, 2014 {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} Так тоже не работает Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 {if $f->value !=''} Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 Тут еще 4 подобных блока с проверкой на заполненность значения с разными айдиТак ты на заполненость проверешь в форече, зачем еще проверять?Фореч тебе выбирает все свойства данного товара, на заполненность ты проверил в этом цикле, зачем еще?А вообще, лучше проверять {if !empty(...)} Цитата Ссылка на сообщение Поделиться на другие сайты
Ilya Опубликовано 14 сентября, 2014 Автор Жалоба Поделиться Опубликовано 14 сентября, 2014 Мне кажется, Вы не совсем поняли задачу, стоящую перед мною.Мне нужно вывести в отдельные блоки 4-5 свойств из 25-30 имеющихся)То есть имеется свойство - глубина погружения (в каких-то камерах ЗАПОЛНЕНО, в каких то нет)Если оно заполнено то мне нужно вывести иконку, а под ней значение для конкретной камеры. Как мне сделать это для кокретного свойства с айди, предположим 180?) Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 {if $product->features} {foreach $product->features as $f} {if $f->feature_id==180} {$f->value} {/if} {/foreach}{/if} Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 {if $f->id == 180 && !empty($f->value)} Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 Kors, у тебя на пусто не проверяется. Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kors Опубликовано 14 сентября, 2014 Решение Жалоба Поделиться Опубликовано 14 сентября, 2014 {if $product->features} {foreach $product->features as $f} {if $f->feature_id==180 && !empty($f->value)} {$f->value} {/if} {/foreach}{/if} Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 Всё равно не понятно, ты что, каждому свойству в коде будешь ID забивать? А если добавится или поменяется?Kors, а почему feature_id, а не id? Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 сентября, 2014 Жалоба Поделиться Опубликовано 14 сентября, 2014 И вообще, по моему у свойства есть только id и name, от куда value взяли?Хотя спорить не буду, нет базы под рукой. Цитата Ссылка на сообщение Поделиться на другие сайты
Ilya Опубликовано 14 сентября, 2014 Автор Жалоба Поделиться Опубликовано 14 сентября, 2014 Kors и Koteyka - спасибо огромное) Всё равно не понятно, ты что, каждому свойству в коде будешь ID забивать? А если добавится или поменяется? Там эти свойства вряд ли поменяются или добавятся, так как во-первых - это основные свойства, а во вторых - это я обговорил зараннее. Да и поменять их дело одной-двух минут. Со спрайтом иконок дольше возится придется, нежели чем с кодом) кстати так f->id == 180 не отрабатывает. Сам уже пробовал. Цитата Ссылка на сообщение Поделиться на другие сайты
drakulitkas Опубликовано 16 марта, 2015 Жалоба Поделиться Опубликовано 16 марта, 2015 А если нужно вывести определенные значения свойства id=153 не в карточке товара,а вместо аннотации в списке продуктов (напр. в майне) Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 марта, 2015 Жалоба Поделиться Опубликовано 16 марта, 2015 Вывод избранных свойств в списках товаров Предлагается способ вывода в списках товаров нескольких избранных свойств (с указанными ID). Создавалось для версии 2.3.6. Скорее всего, годится и для других версий 2.x http://simpla-tuning.com/products/vyvod-izbrannyh-svojstv-v-spiskah-tovarov Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 {if $product->features} {foreach $product->features as $f} {if $f->feature_id==180 && !empty($f->value)} {$f->value} {/if} {/foreach}{/if} Спасибо большое за код.Не подскажите, а как тоже самое отобразить в каталоге (products.tpl) ? Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 Не подскажите, а как тоже самое отобразить в каталоге (products.tpl) ?А зачем свойства в списке? Если у одного товара много свойств, а у другого пару или вообще нет, то представь какой кавардак на странице получится? Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 А зачем свойства в списке? Если у одного товара много свойств, а у другого пару или вообще нет, то представь какой кавардак на странице получится?Дело в том, что в коде уже идет проверка, есть ли то или иное свойство. Поэтому данная проверка не создаст хаос )) Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 http://forum.simplacms.ru/topic/4502-%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%B2-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-simpla-221/ Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 http://forum.simplacms.ru/topic/4502-%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%B2-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-simpla-221/Ваш код выше самый раз в моем случай, т.к. отображаются именно те свойства, что выбраны. а по ссылке там отображаются первые 3-4 из общих характеристик. вот как теперь прикрутить Ваш код в products.tpl ? Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 (изменено) Только не смейтесь, но я сделал так )) :в 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'} или быть может иначе?! Изменено 4 октября, 2015 пользователем DarAmal Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 (изменено) Можно инклудом, но стили нужно будет переделать уже под список. Хотя, у тебя их там и нет. Изменено 4 октября, 2015 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 Можно инклудом, но стили нужно будет переделать уже под список.главное чтобы отобразились, а стили не проблема Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 (изменено) Я не помню точно, а свойства каждого товара в сам шаблон у нас передаются из ProductsView.php? По моему нет. В таком случае нужно будет ProductsView.php допиливать. Изменено 4 октября, 2015 пользователем koteyka Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 4 октября, 2015 Жалоба Поделиться Опубликовано 4 октября, 2015 да вроде так и есть Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.