t707722

Форма поиска на выбранных страницах

Recommended Posts

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

 

Спасибо.

Поделиться сообщением


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

Находим в шаблоне (main.tpl) вот такую строчку

{include file="search_form.tpl"}

Добавляем условие

{if $main_file_tpl == 'realty_grid.tpl'}{include file="search_form.tpl"}{/if}

Теперь форма поиска будет выводится только когда есть таблица объявлений, а на других страницах не будет подключаться эта форма.

Поделиться сообщением


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

Всем привет!

У меня файл main.tpl отличается скорее всего.

Подскажите как здесь сделать такое?

{include file="header.tpl"}<body>    {if $smarty.session.user_id eq ''}        {include file="login_register.tpl.html"}    {/if}{include file=$_layout}</body></html>

Поделиться сообщением


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

просто добавьте данное условие к себе ( точнее в место поиска)

 

{if $main_file_tpl == 'realty_grid.tpl'}
{include file="search_form.tpl"}
{/if}

 

там где у вас вызывался поиск {include file="search_form.tpl"}

Поделиться сообщением


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

Сделал. Находилось в файле layout_basic.tpl

Выделенная на скрине область не пропала. Как это исправить?

kUjvsSC.png

Вод код файла:

<div id="content">            {include file="top_fixed_menu.tpl.html"}				<div class="header">	<p style="float: right; font-size: 1.5em; background-color: rgba(0, 140, 211, 0.7) ; border-radius: 20px; border: 15px; padding: 5px; background-opacity: 0.7; color: #000;			text-align: right; font-family: Geneva, Arial, Helvetica, sans-serif;">			ООО "Эстейт Плюс"<br> +7 (495) 223 33 87 <br>			142100, г. Москва,<br>			ул. Космонавтов, д. 9, стр. 5<br>			email: info@estate-plus.ru</p>            <a href="{$estate_folder}/"><img class="logo" src="{$estate_folder}/template/frontend/agency/img/{$template_vars_logo}" alt="" title=""></a>            {if $show_demo_banners == 1}            <div id="es">            <a href="http://www.sitebill.ru/demo/"><img src="{$estate_folder}/template/frontend/agency/img/demo_transparent1.png" align=left width="214" height="78" border="0" alt="скачать демо-версию" title="скачать демо-версию"></a>            </div>            <div id="es">            <a href="http://www.sitebill.ru/price-cms-sitebill/"><img src="{$estate_folder}/template/frontend/agency/img/buy_product.png" align=left width="280" height="78" border="0" alt="купить CMS Sitebill" title="купить CMS Sitebill"></a>            </div>                        <div id="es">            <a href="http://www.sitebill.ru/client/cart.php?gid=6"><img src="{$estate_folder}/template/frontend/agency/img/template.png" align=left width="196" height="78" border="0" alt="Шаблоны для CMS Sitebill" title="Шаблоны для CMS Sitebill"></a>            </div>                                    {/if}                    <div class="clear"></div>            		{include file="slidemenu.tpl"}		</div>		<div id="lc">		<div id="left">				<div id="search_main">				{if $main_file_tpl == 'realty_grid.tpl'}{include file="search_form.tpl"}				{/if}				</div>			</div>			<div id="left1">			{if $category_tree != ''}				<div id="tree">					<ul class="submenu">{$category_tree}</ul>				</div>				<div class="clear"></div>			{/if}						{if $geodata_on_home}                {include file="map.tpl"}			{/if}            {if $is_account}            <div class="account">                {if $breadcrumbs != ''}                    <div id="breadcrumbs">{$breadcrumbs}</div>                {/if}                   <div class="clear"></div>                                {$main}            </div>            {else}						<div id="tabs-services">				<ul>				<li><a href="#tabs-services-main">{$L_TABS_MAIN}</a></li>				<li><a href="#tabs-services-favorites" id="getmyfavorites">{$L_TABS_FAVORITES} (<span id="favorites_count">{$smarty.session.favorites|count}</span>)</a></li>				<li><a href="#tabs-services-special" id="specialoffers">{$L_TABS_SPECIAL}</a></li>				</ul>								<div id="tabs-services-main">				{if $breadcrumbs != ''}					<div id="breadcrumbs">{$breadcrumbs}</div>				{/if}										{if $main_file_tpl != ''}				     <div class="clear"></div>				    {include file="$main_file_tpl"}				{else}					{$main}				{/if}				</div>				<div id="tabs-services-favorites">{$L_TABS_FAVORITES}</div>				<div id="tabs-services-special">{$L_TABS_SPECIAL}</div>			</div>			{/if}			</div>											</div>		<div id="rc">		    {if $right_column != ''}			     <div class="rcont">			     {if $show_demo_banners == 1}   				<div id="right2">				    <div class="vk">												<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?22"></script>										<!-- VK Widget -->					<div id="vk_groups"></div>					<script type="text/javascript">					{literal}					VK.Widgets.Group("vk_groups", {mode: 0, width: "229", height: "190"}, 25347835);					{/literal}					</script>					<br> 					</div>				</div>				{/if}                    <div id="right2">                           						<div id="news_column">						{include file="news_list_column.tpl"}						</div>					{include file="right_special.tpl"}					                        <div id="news_column">            {$apps_pages_column}                        </div>					                    </div>                                                    				</div>			{/if}			{if $is_account and $category_tree_account}                 <div class="rcont">                    <div id="right2">                                               			     {$category_tree_account}			     </div>           		 </div>			{/if}		</div>			<div class="clear"></div>		{include file="footer.tpl"}	</div>

Поделиться сообщением


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

<div id="search_main">
 {if $main_file_tpl == 'realty_grid.tpl'}
{include file="search_form.tpl"}
 {/if}

</div>

 

Замените на 

 

 {if $main_file_tpl == 'realty_grid.tpl'}

<div id="left">

<div id="search_main">

{include file="search_form.tpl"}

</div>

</div>

 {/if}

Поделиться сообщением


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

Не исчезло. Только съехало правое меню.

ссылку на сайт дайте

Поделиться сообщением


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

Нужно чтобы вкладка формы поиска отображались в выбранной категории.

Думал, что выбрав в настройках формы соответствующий раздел так и будет, но при этом вкладка не пропала, только поиск не выполняется.

Поделиться сообщением


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

Нужно чтобы вкладка формы поиска отображались в выбранной категории.

Думал, что выбрав в настройках формы соответствующий раздел так и будет, но при этом вкладка не пропала, только поиск не выполняется.

Не совсем понятно. Если можно поподробнее.

Поделиться сообщением


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

Не совсем понятно. Если можно поподробнее.

Форма поиска имеет основную форму и дополнительную форму поиска "Название ЖК". Отображаются они в выпадающих вкладках.

Нужно чтобы вкладка "Название ЖК" не отображалась только в одном разделе, а в остальных не отображалась

https://yadi.sk/i/vQ7CyKJ7b5384

Если я выбираю в админке в настройках этой формы отображение в нужном мне разделе, она всё равно отображается во всех, только поиск в них не выполняется.

Поделиться сообщением


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

Форма поиска имеет основную форму и дополнительную форму поиска "Название ЖК". Отображаются они в выпадающих вкладках.

Нужно чтобы вкладка "Название ЖК" не отображалась только в одном разделе, а в остальных не отображалась

https://yadi.sk/i/vQ7CyKJ7b5384

Если я выбираю в админке в настройках этой формы отображение в нужном мне разделе, она всё равно отображается во всех, только поиск в них не выполняется.

Отображение только в одном разделе - этого пока нет в функциях движка.

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

Неактивна - значит отображается на форме, но не выбрана.

Поделиться сообщением


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

Рецепт.

 

1. Нужно определить признак страницы на которой будет отображаться вкладка. Например нужно, что бы она отображалась на адресе /zilye_kompleksy

1.1. Ловим метку. В /template/frontend/шаблон/main/main.php в main() ищем строку 

$REQUESTURIPATH=Sitebill::getClearRequestURI();

если ее нет, то сразу после 

global $__site_title, $folder, $smarty;

добавляем ее.

После нее делаем "определятор"

if($REQUESTURIPATH=='zilye_kompleksy'){$this->template->assign('show_zk_tab', 1);}else{$this->template->assign('show_zk_tab', 0);}

т.е. если адрес соотв. требуемому, то инициализируем признак единицей.

 

2. Гасим таб.

Табы рисуются в /template/frontend/шаблон/search_form.tpl в циклах

{foreach from=$local_search_forms key=ftname item=ftdata} <li{if $ftdata.active==1} class="active"{/if}><a href="#{$ftdata.id}" data-toggle="tab">{$ftname}</a></li> {/foreach}

Добавляем наше условие в первом цикле (создание ярлычков табов)

{foreach from=$local_search_forms key=ftname item=ftdata} {if $ftname=='Название ЖК'}  {if $show_zk_tab==1}  <li{if $ftdata.active==1} class="active"{/if}><a href="#{$ftdata.id}" data-toggle="tab">{$ftname}</a></li>  {/if} {else} <li{if $ftdata.active==1} class="active"{/if}><a href="#{$ftdata.id}" data-toggle="tab">{$ftname}</a></li> {/if} {/foreach}

Т.е., если при переборе табов форм мы наткнулись на таб с именем 'Название ЖК' и признак его показа включен в 1, то рисуем ярлычек закладки, если нет, то не рисуем. А если таб имеет другое имя, то не обращаем внимания на условия.

 

Аналогично и для второго цикла, который рисует тела табов.

{foreach from=$local_search_forms key=ftname item=ftdata}    {if $ftname=='Название ЖК'}        {if $show_zk_tab==1}        <div class="tab-pane{if $ftdata.active==1} active{/if}" id="{$ftdata.id}">        {$ftdata.body}        </div>        {/if}    {else}        <div class="tab-pane{if $ftdata.active==1} active{/if}" id="{$ftdata.id}">        {$ftdata.body}        </div>    {/if}{/foreach}

Вот такой вот вариант на скорую руку.

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

Поделиться сообщением


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

Спасибо.

Замечательно работает.
Только правильнее будет так:

{foreach from=$local_search_forms key=ftname item=ftdata} {if $ftname=='Название ЖК'}  {if $show_zk_tab==1}    {/if} {else} <li{if $ftdata.active==1} class="active"{/if}><a href="#{$ftdata.id}" data-toggle="tab">{$ftname}</a></li> {/if} {/foreach}

И аналогично в теле.

Поделиться сообщением


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

Только правильнее будет так:

 

Не понял. В вашем варианте тогда таба "Название ЖК" вообще никогда не выведется. Или я что-то упустил?

Поделиться сообщением


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

Выведется только на странице с адресом, содержащим "zilye_kompleksy"

 

в main.php после

global $__site_title, $folder, $smarty;

вставлено

if (!strpos($_SERVER['REQUEST_URI'], strval('zilye_kompleksy'))){$this->template->assign('show_zk_tab', 1);}else{$this->template->assign('show_zk_tab', 0);}

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас