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

Вывод блоков в заданой категории или странице


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

  • Ответов 51
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

А как сделать чтоб в категориях всех не выводилось?

 

{if $module!='ProductsView' && !$category}
тут блоки которые не нужно выводить в категориях
{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

{if $module!='ProductsView' && !$category}
тут блоки которые не нужно выводить в категориях
{/if}

 

1. Фраза "тут блоки которые не нужно выводить в категориях" - довольно расплывчатая и неопределенная, почти ни о чем не говорит.

2. Если Вы имели в виду "тут блоки, которые нужно выводить везде, кроме страниц категорий", то предлагаемое решение совсем неправильное...

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

Вывод определенного блока на нужной странице можно ограничить простым скриптом:

{literal}
<script> 
 $(document).ready(function(){  
   $("#sld").hide();
});
</script>
{/literal}

#sld - в случае если <div id="sld">

.sld - в случае если <div class="sld">

у данного блока должен стоять уникальный id лил class иначе скроются все блоки с этими параметрами.

ой спасибки за помощь!!!!!!!!!!!!!!!!!!!!

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

а как сделать вывод какого-то блока после 3-х товаров? (к примеру рекламный блок выводится после каждых 3-х товаров, либо один раз после 3-х)

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

а как сделать вывод какого-то блока после 3-х товаров? (к примеру рекламный блок выводится после каждых 3-х товаров, либо один раз после 3-х)

{foreach $products as $p}
{if $p@iteration%3==0}
какой-то блок
{/if}
Блок товара
{/foreach}
Ссылка на сообщение
Поделиться на другие сайты

 

{foreach $products as $p}
{if $p@iteration%3==0}
какой-то блок
{/if}
Блок товара
{/foreach}

 

Супер! Спасибо Noxter!

Только есть вопрос: почему первый показ идет 2 товара, а потом блок, все остальное по 3 товара и 1 блок?

А как сделать вывод блока один раз после 3х товаров?

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

Супер! Спасибо Noxter!

Только есть вопрос: почему первый показ идет 2 товара, а потом блок, все остальное по 3 товара и 1 блок?

А как сделать вывод блока один раз после 3х товаров?

Попробуйте вот так:
{if $product@index == 3}
<li style="width:100%;background:#080;padding:50px;">
Блок
</li>
{/if}
Изменено пользователем Noxter
Ссылка на сообщение
Поделиться на другие сайты

 

Попробуйте вот так:

{if $product@index == 3}
<li style="width:100%;background:#080;padding:50px;">
Блок
</li>
{/if}

 

да, так работает вывод 1 блока и показывает изначально 3 товара. спасибо!

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

 

1. Отдельный шаблон для страниц

Возьмем например страницу Блога, для того чтобы обернуть центральный блок в шаблон, отличный от index.tpl надо в blog.tpl в самый верх вставить {$wrapper = 'index2.tpl' scope=parent}  и у нас получится что blog.tpl будет грузиться в index2.tpl

 

2. Выводим информацию на определенной странице

Вывод только на главной странице:

 

{if $page && $page->url==''}
Нужная информация которая должна выводиться только на главной странице
{/if}
 

 

Вывод на странице с товаром:

 

{if $smarty.get.module=='ProductView' }
Нужная информация которая должна выводиться только на странице товара
{/if}
 

 

Вывод на странице корзины или товар:

 

{if $smarty.get.module=='CartView' || $smarty.get.module=='ProductView'}
Нужная информация которая должна выводиться только на странице корзины
{/if}
CartView, OrderView, ProductView - название модулей, я брал просто название шаблонов пример
cart.tpl - CartView, products.tpl - ProductsView
 
|| - это тоже самое что "ИЛИ" т.е. выводить информацию на странице Корзина или Товар
 
Прошу дополнить знающих людей интересной информацией 

А как сделать:

На главной странице скрыть категорию какую нить одну и только на главной странице?

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

А как сделать:

На главной странице скрыть категорию какую нить одну и только на главной странице?

Проверка на текущий модуль (в нашем случае главная):
{if $module == 'MainView'}
...
{/if}
Её нужно вставить в цикл вывода категорий при условии, скажем {if $c->id == '666'}.
Ссылка на сообщение
Поделиться на другие сайты

 

Проверка на текущий модуль (в нашем случае главная):

{if $module == 'MainView'}
...
{/if}
Её нужно вставить в цикл вывода категорий при условии, скажем {if $c->id == '666'}.

 

Вот код у меня он выводит определённую группу. Цикл я не понял(

{assign var=col value="15"}

{foreach from=$cats item=cat}
{assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/foreach}
Ссылка на сообщение
Поделиться на другие сайты

 

Вот код у меня он выводит определённую группу. Цикл я не понял(

{assign var=col value="15"}

{foreach from=$cats item=cat}
{assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/foreach}

 

для начала где у вас этот код вставлен. если в main.tpl то так

{assign var=col value="15"}

{foreach from=$cats item=cat}
{if $cat->id!=5}
   {assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/if}
{/foreach}

где 5 - айди категории которую хотите скрыть

 

если вставлено в index.tpl то будет так:

{assign var=col value="15"}

{foreach from=$cats item=cat}
{if $cat->id!=5 || $module!='MainView'}
   {assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/if}
{/foreach}

где 5 - все тот же айди категории которую хотите скрыть

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

для начала где у вас этот код вставлен. если в main.tpl то так

{assign var=col value="15"}

{foreach from=$cats item=cat}
{if $cat->id!=5}
   {assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/if}
{/foreach}

где 5 - айди категории которую хотите скрыть

 

если вставлено в index.tpl то будет так:

{assign var=col value="15"}

{foreach from=$cats item=cat}
{if $cat->id!=5 || $module!='MainView'}
   {assign var=col value=$col+23}
   <div style="margin-top:{$col}px;"><a href="/catalog/{$cat->url}" >{$cat->name}</a></div>
{/if}
{/foreach}

где 5 - все тот же айди категории которую хотите скрыть

 

Код стоит в файле Slider.tpl, скрывать категории только на главной. ID категории 35 у меня надо скрыть. Этот код не скрывает почему то 

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

Код стоит в файле Slider.tpl, скрывать категории только на главной. ID категории 35 у меня надо скрыть. Этот код не скрывает почему то 

 

вы заменили айди категории в коде?

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

Подскажите пожалуйста, как можно вывести статью блога на главной странице в нескольких таблицах?

 

 

Т.е. вверху статья по определённому ID, левая колонка с картинками, а правая колонка без картинок.

 

Вывод на главной у меня работает, но не могу настроить вот такую рабочую структуру.

 

            
            {get_posts var=last_posts limit=1}
	    {if $last_posts}
	      <div id="blog-top">                
                     {foreach $last_posts as $post}
                     {$post->date|date}                                             
                        <a href="blog/{$post->url}">{$post->name|escape}</a>
                          {if $image=$post->images}
                          {$image=$post->images|first}
                          <img src="{$image->filename|resize:400:400}">                        
                          {/if}
                     {$post->annotation}                      
		     {/foreach}
	      </div>
	     {/if}


             {get_posts var=last_posts limit=6}
   	     {if $last_posts}
	        <div id="blog-left">                 
                        {foreach $last_posts as $post}
                        {$post->date|date}                     
                           <a href="blog/{$post->url}">{$post->name|escape}</a>
                             {if $image=$post->images}
                             {$image=$post->images|first}
                             <img src="{$image->filename|resize:200:200}">                        
                             {/if}
                        {$post->annotation}
		        {/foreach}
	         </div>
	      {/if}


               {get_posts var=last_posts limit=9}
   	       {if $last_posts}
	         <div id="blog-right">                    
                        {foreach $last_posts as $post}
                        {$post->date|date}                       
                           <a href="blog/{$post->url}">{$post->name|escape}</a>
                        {/if}
                        {$post->annotation}
		        {/foreach}
	         </div>
	        {/if} 
Ссылка на сообщение
Поделиться на другие сайты

last_posts перезаписывается дважды, переименуйте в last_posts, last_posts2, last_posts3 к примеру, а вообще это говнокод, для картинок достаточно использовать условие если тру то по левой стороне елсе по правой.

Вы же делаете 3 раза вызов функции для получения записей блога, имхо бред.

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

last_posts перезаписывается дважды, переименуйте в last_posts, last_posts2, last_posts3 к примеру...

Это действие ничего не изменит, будет работать ровно так же.

 

 

Пробуйте примерно так:

            {get_posts var=last_posts limit=9}

	    {if $last_posts|count>0}
	      <div id="blog-top">                
                     {foreach array_slice($last_posts,0,1) as $post}
...
		     {/foreach}
	      </div>
	     {/if}


	    {if $last_posts|count>1}
	      <div id="blog-left">                
                     {foreach array_slice($last_posts,1,4) as $post}
...
		     {/foreach}
	      </div>
	     {/if}


	    {if $last_posts|count>5}
	      <div id="blog-right">                
                     {foreach array_slice($last_posts,5,4) as $post}
...
		     {/foreach}
	      </div>
	     {/if}

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

 

Подскажите пожалуйста, как можно вывести статью блога на главной странице в нескольких таблицах?

 

 

Т.е. вверху статья по определённому ID, левая колонка с картинками, а правая колонка без картинок.

 

Вывод на главной у меня работает, но не могу настроить вот такую рабочую структуру.

 

            
            {get_posts var=last_posts limit=1}
	    {if $last_posts}
	      <div id="blog-top">                
                     {foreach $last_posts as $post}
                     {$post->date|date}                                             
                        <a href="blog/{$post->url}">{$post->name|escape}</a>
                          {if $image=$post->images}
                          {$image=$post->images|first}
                          <img src="{$image->filename|resize:400:400}">                        
                          {/if}
                     {$post->annotation}                      
		     {/foreach}
	      </div>
	     {/if}


             {get_posts var=last_posts limit=6}
   	     {if $last_posts}
	        <div id="blog-left">                 
                        {foreach $last_posts as $post}
                        {$post->date|date}                     
                           <a href="blog/{$post->url}">{$post->name|escape}</a>
                             {if $image=$post->images}
                             {$image=$post->images|first}
                             <img src="{$image->filename|resize:200:200}">                        
                             {/if}
                        {$post->annotation}
		        {/foreach}
	         </div>
	      {/if}


               {get_posts var=last_posts limit=9}
   	       {if $last_posts}
	         <div id="blog-right">                    
                        {foreach $last_posts as $post}
                        {$post->date|date}                       
                           <a href="blog/{$post->url}">{$post->name|escape}</a>
                        {/if}
                        {$post->annotation}
		        {/foreach}
	         </div>
	        {/if} 

 

Спасибо большое всем за ответы, но у меня получилось вот так:

            {get_posts var=last_posts limit=1}

	    {if $last_posts}
	      <div id="blog-top">                
                     {foreach $last_posts as $post}
                     {if $post->id == 1}
...
                     {/if}
		     {/foreach}
	      </div>
	     {/if}

            {get_posts var=last_posts limit=3}
	    {if $last_posts}
	      <div id="blog-left">                
                     {foreach $last_posts as $post}
                     {if $image=$post->images|first}
... с картинкой
                     {else}        
	             {/if}
		     {/foreach}
	      </div>
	     {/if}

            {get_posts var=last_posts limit=10}
	    {if $last_posts}
	      <div id="blog-right">                
                     {foreach $last_posts as $post}
                     {if $image=$post->images|first}
                     {else}
... без картинки
                     {/if}
		     {/foreach}
	      </div>
	     {/if}
Ссылка на сообщение
Поделиться на другие сайты
  • 10 месяцев спустя...

А как на контентных страницах не выводить? Которые делаются в меню "Страницы". 

PageView это? 

 

Сделал проверку через PageView - вроде работает..

Только почему-то для страницы контактов у которой шаблон feedback.tpl  не срабатывает

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

А как сделать

Если блок (div) заполнен, то он выводит, если не заполнен, то ничего не показывает?

 

так делайте проверку на то что выводит у вас в div e

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

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

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

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

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

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

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

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

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

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