Даниэль

Как отредактировать блок "Специально предложение"

Recommended Posts

Ребята привет подскажите как убрать в лева блок "специальное предложение", что бы оно не мешалось блоку "VIP"

Скрин предоставил, спасибо.

8UKmk4N9MG4.jpg

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


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

Да. если его кинуть под обеими колонками, то, при наполнении вип, он будет отталкивать вниз и спец. Тут или его размещать четко в левой колонке или ставить под обеими, но подбирать количества в списке объектов и в вип-списке, что бы избежать "дырчатости". Но в левой логичнее, так как сайдбар, в принципе, может заканчиваться ранее основного контента, так как он уже.

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


Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, abushyk сказал:

Да. если его кинуть под обеими колонками, то, при наполнении вип, он будет отталкивать вниз и спец. Тут или его размещать четко в левой колонке или ставить под обеими, но подбирать количества в списке объектов и в вип-списке, что бы избежать "дырчатости". Но в левой логичнее, так как сайдбар, в принципе, может заканчиваться ранее основного контента, так как он уже.

подскажите пожалуйста а какой файл править отвечающий за размещение блока спецпредложений -top_special.tpl именно в карточке объявления.
Посмотрели все layot но что то так и не нашли, нужен файл именно который создает карточку объявления в нее он видимо вставляет реалити-вью, а уже потом вставляет  top_special.tpl.
Поскольку хочется воткнуть блок top_special.tpl именно в реалитивью чтобы не было дыры, так как блок справа значительно уходит вниз и блок спецпредложений выводится еще ниже, что образовывает дыру в верстке.

Но что то есть предположение, что такого файла нет, поскольку берется layout_basic.tpl выводится main -а в ней тот самый реалитивью и после main выводится  top_special.tpl. сделано это видимо для универсальности.


А может как то можно все же отредактировать грамотно файл и какой ? чтобы если эта страница реалитивью то вывести top_special.tpl,  и не выводить ее в общем шаблоне чтобы не было дыры.

Видимо нужно поставить обработку IF чтобы создать такой правило, вот только какой именно файл используется для карточки объявления и какое правило правильно написать?

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


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

Для реалии шаблон карточки - realty_view.tpl. А уже он включает в себя шаблон right_special.tpl - это и есть правый блок. top_special.tpl в реалии - это такая каруселька внизу тоже со спецпредлдожениями.

Для того, что бы спец сбоку были только в карточке но не были со списками, нужно просто убрать {include file='right_special.tpl'} включение из файлов realty_grid.tpl и всех layout_....tpl а оставить только в realty_view.tpl

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


Ссылка на сообщение
Поделиться на других сайтах
40 минут назад, abushyk сказал:

Для реалии шаблон карточки - realty_view.tpl. А уже он включает в себя шаблон right_special.tpl - это и есть правый блок. top_special.tpl в реалии - это такая каруселька внизу тоже со спецпредлдожениями.

Для того, что бы спец сбоку были только в карточке но не были со списками, нужно просто убрать {include file='right_special.tpl'} включение из файлов realty_grid.tpl и всех layout_....tpl а оставить только в realty_view.tpl

это мы понимаем:)) но речь не о правом блоке а о том что внизу, так как если правый блок длинный а само объявление короткой, то блок снизу спецпредложений выведится только с большой дырой, так сказать только после правого блока

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


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

У вас есть блок в main()

if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){
$work_subcontroller='realtyview';
$has_result=true;
}

добавьте в него признак

if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){
$work_subcontroller='realtyview';
$has_result=true;
$this->template->assert('this_is_realty_view', 1);
}

и потом в шаблоне layout_basic.tpl вместо просто вывода, сделайте усвлоный

{if isset($this_is_realty_view) && $this_is_realty_view==1}
{include file="top_special.tpl"}
{/if}

 

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


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

а где именно  в лайотбейсик этот самый вывод ?


            <div class="span9">
                {if $is_account}
                <div class="account">
                    {if $breadcrumbs != ''}
                        <div id="breadcrumbs">{$breadcrumbs}</div>
                    {/if}   
                    <div class="clear"></div>
                
                       {$main}
                </div>
                {else}
                    {if $breadcrumbs != ''}
                        <div id="breadcrumbs">{$breadcrumbs}</div>
                    {/if}    
                    {if $main_file_tpl != ''}
                        <h1 class="page-header">{$title}</h1>
                        {include file="$main_file_tpl"}

                    {else}
                        <h1 class="page-header">{$title}</h1>
                        {$main}
                    {/if}
                {/if}
                {include file="top_special.tpl"}
            </div>

и после какой строки выводить ? так как это как бы "шаблонизатор" слоев и надо чтобы другие страницы например не затрагивались так как это будут в основном сетка объявлений или новости или еще что то, хотя есть подозрение что если например сделать просто свой tpl  файл и например туда засунуть 1-2 адреса нотариусов, то все равно между 1 нотариусом и спецпредложением снизу будет дыра, поскольку просто правый блок будет длинный :)

 

вывод не там ли где выделили ?? и не получится ли теперь что в результате этого будет выводиться в двух местах ? один в карточке другой после него?
 

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


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

нет, ниже есть строка {include file="top_special.tpl"} которую нужно заменить условным блоком.

Цитата

и не получится ли теперь что в результате этого будет выводиться в двух местах ? один в карточке другой после него?

Не получится. этот блок выводится только в лейаут_бейсик. В шаблоне карточки он не включается.

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


Ссылка на сообщение
Поделиться на других сайтах
21 час назад, abushyk сказал:

У вас есть блок в main()


if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){
$work_subcontroller='realtyview';
$has_result=true;
}

добавьте в него признак


if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){
$work_subcontroller='realtyview';
$has_result=true;
$this->template->assert('this_is_realty_view', 1);
}

и потом в шаблоне layout_basic.tpl вместо просто вывода, сделайте усвлоный


{if isset($this_is_realty_view) && $this_is_realty_view==1}
{include file="top_special.tpl"}
{/if}

 

сделали -но проблема не решена - блок спецпредложений выводится так же только после самой карточки объявлений включая правый блок, а не в самом объявлении (так сказать в карточке идет сначала спан9 потом справа спан3, а уже ниже них выводится topcpecial),  а нужно чтобы topcpecial выводился в спан9 в карточке объявления

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


Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, doma сказал:

сделали -но проблема не решена - блок спецпредложений выводится так же только после самой карточки объявлений включая правый блок, а не в самом объявлении (так сказать в карточке идет сначала спан9 потом справа спан3, а уже ниже них выводится topcpecial),  а нужно чтобы topcpecial выводился в спан9 в карточке объявления

так переместите подключение из спан3 в спан9

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, TopRaN сказал:

так переместите подключение из спан3 в спан9

так шаблон используется в виде шаблонизатора :))) вставить то вставили бы -без проблем :) тут дело в том что задвоение блоков будет :))

дополнение: в реалитивью нет подключениия нижнего блока спецпредложений или же вип объявлений

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


Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, doma сказал:

дополнение: в реалитивью нет подключениия нижнего блока спецпредложений или же вип объявлений

Дополнение : файл layout_home.tpl. там идет подключение right_special

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


Ссылка на сообщение
Поделиться на других сайтах
В 11.09.2017 в 02:25, abushyk сказал:

нет, ниже есть строка {include file="top_special.tpl"} которую нужно заменить условным блоком.

Не получится. этот блок выводится только в лейаут_бейсик. В шаблоне карточки он не включается.

так и не выводится правильно- что и как еще переделать?

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


Ссылка на сообщение
Поделиться на других сайтах
В 11.09.2017 в 13:12, doma сказал:

сделали -но проблема не решена - блок спецпредложений выводится так же только после самой карточки объявлений

Это логично, так как он вставлен в layout_basic.tpl который оборачивает макет карточки вокруг и не может что-то вставить в нее. Если вы хотите, что бы этот блок был как бы встроенным в карточку и при этом только там и выводился, то вам нужно переместить его включение из layout_basic.tpl в realty_view.tpl. Тогда он станет уже частью именно карточки и будет стоять в ее span9. Но в этом случае уже не нужно то условие, что мы добавляли, так как блоку будет уже включаться только в самой карточке.

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, abushyk сказал:

Это логично, так как он вставлен в layout_basic.tpl который оборачивает макет карточки вокруг и не может что-то вставить в нее. Если вы хотите, что бы этот блок был как бы встроенным в карточку и при этом только там и выводился, то вам нужно переместить его включение из layout_basic.tpl в realty_view.tpl. Тогда он станет уже частью именно карточки и будет стоять в ее span9. Но в этом случае уже не нужно то условие, что мы добавляли, так как блоку будет уже включаться только в самой карточке.

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

Но если убрать в шаблоне то тут другая засада -так как идет стандартизированный шаблон -то спецпредложения не будут выводиться  там где они выводились ранее (не в карточке)
а например в новостях, справочниках, формах отправки или сетки объявлений например

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


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

Я что-то уже запутался где они должны выводиться, а где нет)) Вы можете не убирать подключение из бейсик лейаута, а скопировать его в карточку. Просто в бейсик тогда изменить условие. Сейчас там стоит "если карточка, то вывести" а получится наоборот "если не карточка"

{if !isset($this_is_realty_view) || $this_is_realty_view!=1}
{include file="top_special.tpl"}
{/if}

такое в бейсик, а в карточку просто include без всяких условий.

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, abushyk сказал:

Я что-то уже запутался где они должны выводиться, а где нет)) Вы можете не убирать подключение из бейски а скопировать его в карточку. Просто я бецйсик тогда изменить условие. Сейчас ам стоит "если карточка, то вывести" а получится наоборот


{if !isset($this_is_realty_view) || $this_is_realty_view!=1}
{include file="top_special.tpl"}
{/if}

такое в бейсик, а в карточку просто include без всяких условий.

нет не получается -выводится в 2местах

что сделали ? комментируем
1) в бейсик вставили код 

                {if !isset($this_is_realty_view) || $this_is_realty_view!=1}
                    {include file="top_special.tpl"}
                {/if}

(кстати обратить внимание перед  !isset  стоит ! а раньше не было -правильно ли? ошибки нет? но мы попробоали и с ! и без него)

2) в реалитивь вставили перед    началом <div class="sidebar span3">
{include file="top_special.tpl"}

в итоге зайдя в карточку видим 2 спецпредложения  - одно как бы в карточке, а второе за ним -как бы в шаблоне

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


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

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

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

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

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

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

Войти

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

Войти сейчас