Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Доброй ночи, как проще вывести первые 5 заполненых свойств? Раньше по условию id выводил, но сейчас необходимо вывести первые 5 свойств у товара которые заполнены.

Ссылка на сообщение
Поделиться на другие сайты

Вывести где? На главной, в каталоге, в карточке, в корзине, в связанных товарах?

Блин серьезно достали тупняк писать. Тут не форум экстрасенсов!

Ссылка на сообщение
Поделиться на другие сайты

Вывести где? На главной, в каталоге, в карточке, в корзине, в связанных товарах?

Блин серьезно достали тупняк писать. Тут не форум экстрасенсов!

 

В карточке товара.

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

пока у меня мысли такие

 

<ul class="feature-block">
  {assign var=max_f value=5}
   {foreach $product->features as $f} 
       <li>  {$f->name}<span>{$f->value}</span></li>   
 {if $f@iteration >= $max_f}
{break}
 {/if}
    {/foreach}
 </ul>
Ссылка на сообщение
Поделиться на другие сайты

 

пока у меня мысли такие

 

<ul class="feature-block">
  {assign var=max_f value=5}
   {foreach $product->features as $f} 
       <li>  {$f->name}<span>{$f->value}</span></li>   
 {if $f@iteration >= $max_f}
{break}
 {/if}
    {/foreach}
 </ul>
Херня, все равно будут выбираться все свойства всех товаров, а это тормоза и перегруз.

Завтра если не забуду набросаю решение за + в карму.

Ссылка на сообщение
Поделиться на другие сайты

 

пока у меня мысли такие

 

<ul class="feature-block">
  {assign var=max_f value=5}
   {foreach $product->features as $f} 
       <li>  {$f->name}<span>{$f->value}</span></li>   
 {if $f@iteration >= $max_f}
{break}
 {/if}
    {/foreach}
 </ul>

 

Решение идеальное -  простое и правильное.

 

Насчет "тормоза и перегруз" - это мастер преувеличил сильно. Должно быть, перепутал, перегрузы бывают, когда подобное делают в списках - и то перегруз возникает в другом месте. 

В карточке товара все равно выбираются из базы все свойства, код работает прекрасно.

Ссылка на сообщение
Поделиться на другие сайты

Решение идеальное - простое и правильное.

 

Насчет "тормоза и перегруз" - это мастер преувеличил сильно. Должно быть, перепутал, перегрузы бывают, когда подобное делают в списках - и то перегруз возникает в другом месте.

В карточке товара все равно выбираются из базы все свойства, код работает прекрасно.

Да, я почему-то сразу про вывод в каталоге подумал.
Ссылка на сообщение
Поделиться на другие сайты

Да, я почему-то сразу про вывод в каталоге подумал.

 

При этом НЕ подумал, что в простом цикле Smarty в принципе никаких тормозов быть не может.

При этом НЕ подумал, что хорошо бы добавить извинения перед ТС за грубость...

Ссылка на сообщение
Поделиться на другие сайты

При этом НЕ подумал, что в простом цикле Smarty в принципе никаких тормозов быть не может.

При этом НЕ подумал, что хорошо бы добавить извинения перед ТС за грубость...

Я ничего не писал о тормозах в циклах, глаза протри.

За какую грубость? Корс ты в очередной раз доказал что ты дебил.

Изменено пользователем Noxter
Ссылка на сообщение
Поделиться на другие сайты

Ещё один вариант через срез массива, как по мне проще решение без дополнительного условия.

Сам код:

{foreach $product->features|@array_slice:0:5 as $f}
<p>{$f->name} - {$f->value}</p>
{/foreach}
Где 0 начало среза, 5 количество элементов.

Удачи!

Изменено пользователем Noxter
Ссылка на сообщение
Поделиться на другие сайты

Я ничего не писал о тормозах в циклах, глаза протри.

 

И я ничего не писал, о том что Noxter писал о тормозах в циклах. Посему протрите глаза/очки сами, дорогой друг.

 

Было написано, что Noxter НЕ подумал, что в простом цикле Smarty в принципе никаких тормозов быть не может.

Обычно программисты бывают сильны в логике...

Ссылка на сообщение
Поделиться на другие сайты

И я ничего не писал, о том что Noxter писал о тормозах в циклах. Посему протрите глаза/очки сами, дорогой друг.

 

Было написано, что Noxter НЕ подумал, что в простом цикле Smarty в принципе никаких тормозов быть не может.

Обычно программисты бывают сильны в логике...

Ты больной
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Я у себя такое решение использую..

{foreach $product->features as $f}
{if $f@iteration < 8 && $f->feature_id != '1' && $f->feature_id != '2'}
  <div class="propertyTable">
       <div class="propertyName">{$f->name}</div>
       <div class="propertyValue">{$f->value} </div>
  </div>
 {/if}
 {/foreach}

Выводит только первые 8 свойств.
А также закрываю 2 свойства по их id, просто я их для других целей как переменные ввёл в базу. 

Ссылка на сообщение
Поделиться на другие сайты

Юзайте in_array вместо кучи ифов.

Это я только осваиваю..

А компоновать или нет - это влияет на что-то или только для удобства разработчика?

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...