abushyk

[HOWTO] Локальный обработчик карточки

Recommended Posts

Методика создания своего обработчика карточки.

1. Копируем файл /apps/system/lib/frontend/view/kvartira_view.php в /template/frontend/ИМЯ_ВАШЕГО_ШАБЛОНА/main/view/local_kvartira_view.php

2. Заменяем все его содержимое на

<?php
class Local_Kvartira_View extends Kvartira_View {

}

3. В Настройки - Общее отмечаем галочку Использовать классический локальный конструктор карточки(classic_local_view)

C этого момента обслуживать показ объектов у нас начинает наш локальный обработчик. В данный момент он пуст и по факту всю работу за него будет делать пока еще родительский модуль. Но, перенося в него некоторые функции из родителя и меняя их логику, мы можем добиться своего функционала.

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


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

Методика создания своего обработчика карточки.

1. Копируем файл /apps/system/lib/frontend/view/kvartira_view.php в /template/frontend/realia/main/view/local_kvartira_view.php

2. Чистим из него все оставив лишь


<?php
class Local_Kvartira_View extends Kvartira_View {

}

3. В Настройки - Общее отмечаем галочку Использовать классический локальный конструктор карточки(classic_local_view)

C этого момента обслуживать показ объектов у нас начинает наш локальный обработчик. В данный момент он пуст и по факту всю работу за него будет делать пока еще родительский модуль. Но, перенося в него некоторые функции из родителя и меняя их логику, мы можем добиться своего функционала.

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

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


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

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

 

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


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

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

 

или у нас нет идей, или нет понимания :)
Но что такого можно закинуть еще в карточку ? Народ накидайте идей

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


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

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

Что можно закинуть в карточку?

1. В теме о сео вчера только обсуждали генератор разметки схемы

2. функции создания менее деревянных сео-заголовков

3. предварительная обработка и сложное форматирование выводимых параметров

4. подключение дополнительных сущностьей или каких-то данных, которые нужны в карточке в данном контексте

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

7. реализация каких-то счетчиков переходов, сбор utm-меток

... да еще тыщи вариантов извращений))

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


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

/template/frontend/realia/main/view/local_kvartira_view.php

Такого файла нет.

Из первого пункта закинул из /apps/system/lib/frontend/view/kvartira_view.php   в /template/frontend/realia/main/view/ файл kvartira_view.php и его нужно переименовать в local_kvartira_view.php

2. Удалить все содержимое кроме части из пункта 2 ?

Код 

class Local_Kvartira_View

не найден в kvartira_view.php

Скорее всего неправильно выполняю первый пункт. Где ошибка подскажите, спасибо

 

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


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

Чаще всего, его нет. Но в некоторых случаях может быть, если шаблон уже модифицировался. Если двиг ставится с нуля, то в папке шаблона такого файла не будет. Поэтому мы берем системный из /apps/system/lib/frontend/view/kvartira_view.php тащим в шаблон, создавая недостающие папки /template/frontend/ИМЯ_ШАБЛОНА/main/view/, переименовываем его в local_kvartira_view.php

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


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

2. Удалить все содержимое кроме части из пункта 2 ?

Это значит, что мы открываем скопированный файл, делаем Ctrl+A и Delete. После этого в получившийся пустой файл вставляем код

<?php
class Local_Kvartira_View extends Kvartira_View {

}

Все. Заготовка готова.

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


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

Сорри, это я так объясняю криво))) Поправил исходный топик.

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

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


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

Я так понимаю, вот это 

4dfcbca88d.jpg

в карточке объявления сделано с помощью вышеописанного?

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

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


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

Иххххххххххххаааааааааааааааааааааааааа:)))))))))))))))))))))) ЙЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕС! ВСем спасибо всех люблю :)

А что вы там курите? Если так вставляет... :) 

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


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

А что вы там курите? Если так вставляет... :) 

ничо не курил на самом деле :) это просто эмоции от того, что получилось, что я МОГУ я КРУТОЙ :)

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


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

Иххххххххххххаааааааааааааааааааааааааа:)))))))))))))))))))))) ЙЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕС! ВСем спасибо всех люблю :)

Так подскажите нам, как это сделать ?

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


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

Да для Вас наверное это уже просто и неинтересно

http://твойугол.рф/kupit-novostroyki-kvartiry/1-komn/realty506027/

ниже текстового описания в объявлении блок ссылок до 

Цитата

У нас часто ищут:

 

obyava.tpl

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


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

Да для Вас наверное это уже просто и неинтересно

http://твойугол.рф/kupit-novostroyki-kvartiry/1-komn/realty506027/ ...

Ну вот, хотел глянуть а там квадрат Малевиа, только белый... Фокус не удался? Да и главная сайта - белый экран :( 

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


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

Ну вот, хотел глянуть а там квадрат Малевиа, только белый... Фокус не удался? Да и главная сайта - белый экран :( 

Почему-то сайт лег. Дима сейчас вроде починил. пробуйте.

А. понятно почему лёг, я приложение комплексы не туда вкрячил :) доступно объяснили "почем в Одессе помидоры"

Изменено пользователем Opossum_Shultz

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


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

Спасибо!

Я себе использовал.

Только без лишних манипуляций. Просто вставил (немного изменив) эти коды в realty_view.tpl

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


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

Если кому то будет нужно(интересно), то я в realty_view.tpl вставил:

ПОД ОПИСАНИЕ:

<br>

                    <h5>Возможно Вас заинтересуют эти объявления!</h5>
     &#128270;<a href="/index.php?topic_id={$data.topic_id.value}" target="_blank">Все предложения этой категории</a><br>               
    &#128270;<a href="/index.php?city_id={$data.city_id.value}&topic_id={$data.topic_id.value}" target="_blank">Все предложения этой категории в г. {$data.city_id.value_string}</a><br>                
     &#128270;<a href="/index.php?city_id={$data.city_id.value}&topic_id={$data.topic_id.value}&room_count[0]={$data.room_count.value}" target="_blank">Все {$data.room_count.value}-комнатные предложения этой категории в г. {$data.city_id.value_string}</a><br><br>               
     &#128270;<a href="/index.php?srch_word={$data.address.value}&topic_id={$data.topic_id.value}" target="_blank">Все предложения этой категории на {$data.address.value}</a><br>
&#128270;<a href="/index.php?srch_word={$data.address.value}&topic_id={$data.topic_id.value}&room_count[0]={$data.room_count.value}" target="_blank">Все {$data.room_count.value}-комнатные предложения этой категории на {$data.address.value}</a><br><br>               
<br>

ПОД АГЕНТА:

<br>

                    <h5>Возможно Вас заинтересуют ещё объявления от данного сотрудника!</h5>
&#128270;<a href="/index.php?user_id={$data.user_id.value}" target="_blank">Все предложения от {$data.user_id.value_string}</a><br>
                    
                    &#128270;<a href="/index.php?topic_id={$data.topic_id.value}&user_id={$data.user_id.value}" target="_blank">Все предложения этой категории от {$data.user_id.value_string}</a><br>               
    &#128270;<a href="/index.php?city_id={$data.city_id.value}&topic_id={$data.topic_id.value}&user_id={$data.user_id.value}" target="_blank">Все предложения этой категории в г. {$data.city_id.value_string} от {$data.user_id.value_string}</a><br>                
     &#128270;<a href="/index.php?city_id={$data.city_id.value}&topic_id={$data.topic_id.value}&user_id={$data.user_id.value}&room_count[0]={$data.room_count.value}" target="_blank">Все {$data.room_count.value}-комнатные предложения этой категории в г. {$data.city_id.value_string} от {$data.user_id.value_string}</a><br><br>               
     &#128270;<a href="/index.php?srch_word={$data.address.value}&topic_id={$data.topic_id.value}&user_id={$data.user_id.value}" target="_blank">Все предложения этой категории на {$data.address.value} от {$data.user_id.value_string}</a><br>
&#128270;<a href="/index.php?srch_word={$data.address.value}&topic_id={$data.topic_id.value}&user_id={$data.user_id.value}&room_count[0]={$data.room_count.value}" target="_blank">Все {$data.room_count.value}-комнатные предложения этой категории на {$data.address.value} от {$data.user_id.value_string}</a><br><br>               
<br>

ПС:

Если, что address нужно заменить на street_id

(У меня вместо street_id используется address)

  

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


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

Да для Вас наверное это уже просто и неинтересно

http://твойугол.рф/kupit-novostroyki-kvartiry/1-komn/realty506027/

ниже текстового описания в объявлении блок ссылок до 

obyava.tpl

Глянул... Может лучше было сочинить несколько шаблонов tpl с текстом и ссылками, для разных случаев - квартир, домов, участков, новостроек, типа kvartira.tpl, house.tpl, land.tpl, new_building.tpl. Выкинуть блок Спецпредложений внизу объявления в realty_view.tpl (справа блок VIP по сути дублирует Спецпредложения) и вместо него подставить скриптик, который будет определять тип выводимого объекта (квартира, дом, участок, новостройка) и выводить в зависимости от ситуации один из шаблонов со ссылками. Решаете несколько вопросов - можно вставить больше текста и ссылок, да и смотрится лучше, поскольку занимает 3/4 шарины дисплея, для СЕО будет неплохо, нужные ссылки вылазят по теме и предлагаются именно заинтересованному посетителю.

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

По результату работы скрипта подставляем нужный tpl  командой, например {include file='kvartira.tpl'}

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


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

Глянул... Может лучше было сочинить несколько шаблонов tpl с текстом и ссылками, для разных случаев - квартир, домов, участков, новостроек, типа kvartira.tpl, house.tpl, land.tpl, new_building.tpl. Выкинуть блок Спецпредложений внизу объявления в realty_view.tpl (справа блок VIP по сути дублирует Спецпредложения) и вместо него подставить скриптик, который будет определять тип выводимого объекта (квартира, дом, участок, новостройка) и выводить в зависимости от ситуации один из шаблонов со ссылками. Решаете несколько вопросов - можно вставить больше текста и ссылок, да и смотрится лучше, поскольку занимает 3/4 шарины дисплея, для СЕО будет неплохо, нужные ссылки вылазят по теме и предлагаются именно заинтересованному посетителю.

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

По результату работы скрипта подставляем нужный tpl  командой, например {include file='kvartira.tpl'}

Дададад, именно в ту степь дальше все и будет двигаться. Спасибо большое Сенсей за советы, сейчас закончу кое с каими доделками и возьмусь за это. Вообще как же круто работать с .tpl - я прямо балдю :)

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


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

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

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

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

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

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

Войти

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

Войти сейчас