vihr 5 Жалоба Опубликовано: May 16, 2014 Очень надо разместить в шапке(перед списком объектов) контент с инфой о агентеДолжность, текстовочка, его связи в социалкахПодскажите как сделать это без осинового кола в движок))) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 18, 2014 Базовое решение. На примере шаблона agency 1. /template/frontend/agency/main/main.phpищем строкуif(!$has_result && preg_match('/user(\d+).html/', $_SERVER['REQUEST_URI'], $matches)){которая открывает блок, где у нас рисуется сетка объявлений пользователя.После $this->setRequestValue('user_id', (int)$matches[1]);делаем дополнение$DBC=DBC::getInstance();$query='SELECT fio, phone FROM '.DB_PREFIX.'_user WHERE user_id=?';$stmt=$DBC->query($query, array((int)$matches[1]));if($stmt){$ar=$DBC->fetch($stmt);$this->template->assert('grid_user_info', $ar);}Этот блок выбирает данные из таблицы юзеров. Список fio, phone можно расширить нужными вам именами из модели user. Не делаете 'SELECT * ', что бы не выхватывать пароли-явки. Только нужные поля. Теперь в переменной {$grid_user_info} шаблона у нас есть данные. 2. /template/frontend/agency/realty_grid.tplВ этом шаблоне, в месте где должен быть вывод данных юзера, делаем проверку{if isset($grid_user_info)}...{/if}так как этот файл выводит все сетки, поэтому удостоверяемся, что данные есть.А внутри этогой проверки делаем нужный нам формат вывода.Например{if isset($grid_user_info)}<b>имя</b> {$grid_user_info.fio}{/if}В итоге, и в систему не влезли, и данные получили. 3 Realtor, kmavega и vihr reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vihr 5 Жалоба Опубликовано: May 18, 2014 Именно оно.Записал в копилку решение Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: February 22, 2015 Однако, если делаешь красивую ссылку с помощью линк менеджера, то информация не отображается. Почему? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: February 22, 2015 Подскажите пожалуйста, как дополнить, чтобы выводились список определенных групп пользователей и при нажатии на имена которых выводился список их объектов. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: February 22, 2015 это уже доработка. можете ее заказть Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: February 23, 2015 Однако, если делаешь красивую ссылку с помощью линк менеджера, то информация не отображается. Почему?Какие параметры прописываете? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 23, 2015 Однако, если делаешь красивую ссылку с помощью линк менеджера, то информация не отображается. Почему? Линк-менеджер помогает работать только построителю сеток./userXXX.html - вызывает построитель сеток для параметра user_id=XXX + выхватывает дополнительную инфу о юзере/красивая_ссылка_на_юзера - тоже вызывает построитель сеток по параметру переданному в настройках красивой ссылки, но делает это не в той же точке, что и /userXXX.html а там, где обычная сетка. Соотв. и допинфа о юзере там не вызывается. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: February 23, 2015 Линк-менеджер помогает работать только построителю сеток./userXXX.html - вызывает построитель сеток для параметра user_id=XXX + выхватывает дополнительную инфу о юзере/красивая_ссылка_на_юзера - тоже вызывает построитель сеток по параметру переданному в настройках красивой ссылки, но делает это не в той же точке, что и /userXXX.html а там, где обычная сетка. Соотв. и допинфа о юзере там не вызывается.Каким образом вызвать доп.информацию о юзере в обычной сетке? Никак? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 23, 2015 Каким образом вызвать доп.информацию о юзере в обычной сетке? Никак? Давайте попробуем зайти с другой стороны. Как выглядят ваши красивые урлы для юзеров? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: February 24, 2015 Давайте попробуем зайти с другой стороны. Как выглядят ваши красивые урлы для юзеров?Например, было /user8.htmlСтало /an-byl Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 24, 2015 Т.е. никакой общей части у этих урлов нет? Напримерan-bylan-kvartalan-ivanov или user/an-byluser/gr_kvartaluser/ivanov Если бы она была, то можно было бы сделать ранний перехват по этой общей части и на нее повесить выборку данных пользователя. А уже объявления вытягивались бы штатными средствами. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: February 27, 2015 Т.е. никакой общей части у этих урлов нет? Напримерan-bylan-kvartalan-ivanov или user/an-byluser/gr_kvartaluser/ivanov Если бы она была, то можно было бы сделать ранний перехват по этой общей части и на нее повесить выборку данных пользователя. А уже объявления вытягивались бы штатными средствами.а если не user/... а, скажем, agentstvo/... ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 27, 2015 а если не user/... а, скажем, agentstvo/... ? Не суть важно. Главное иметь какую-то часть адреса, что бы можно было однозначно определить - "Да, вот это реально урл от профиля пользователя, а не категория или еще что-то , например". Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: February 28, 2015 Не суть важно. Главное иметь какую-то часть адреса, что бы можно было однозначно определить - "Да, вот это реально урл от профиля пользователя, а не категория или еще что-то , например".Хорошо. Как сделать такой перехват? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 28, 2015 /template/frontend/agency/main/main.php Перед if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){...}Добавляемif(preg_match('/^agentstvo\//', $REQUESTURIPATH)){ //проверяем нужный ли адрес$DBC=DBC::getInstance();$query='SELECT params FROM '.DB_PREFIX.'_predefinedlinks WHERE alias=? LIMIT 1'; //получаем параметры$stmt=$DBC->query($query, array($REQUESTURIPATH));if($stmt){$ar=$DBC->fetch($stmt);if($ar['params']!=''){$params=array();parse_str($ar['params'], $params);if(isset($params['user_id']) && 0<(int)$params['user_id']){$query='SELECT fio, phone FROM '.DB_PREFIX.'_user WHERE user_id=?'; //выбираем данные нужного юзера$stmt=$DBC->query($query, array((int)$params['user_id']));if($stmt){$ar=$DBC->fetch($stmt);$this->template->assert('grid_user_info', $ar); //отправляем данные в шаблон}}}}} Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: March 1, 2015 /template/frontend/agency/main/main.php Перед if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){...}Добавляемif(preg_match('/^agentstvo\//', $REQUESTURIPATH)){ //проверяем нужный ли адрес$DBC=DBC::getInstance();$query='SELECT params FROM '.DB_PREFIX.'_predefinedlinks WHERE alias=? LIMIT 1'; //получаем параметры$stmt=$DBC->query($query, array($REQUESTURIPATH));if($stmt){$ar=$DBC->fetch($stmt);if($ar['params']!=''){$params=array();parse_str($ar['params'], $params);if(isset($params['user_id']) && 0<(int)$params['user_id']){$query='SELECT fio, phone FROM '.DB_PREFIX.'_user WHERE user_id=?'; //выбираем данные нужного юзера$stmt=$DBC->query($query, array((int)$params['user_id']));if($stmt){$ar=$DBC->fetch($stmt);$this->template->assert('grid_user_info', $ar); //отправляем данные в шаблон}}}}} o`k, все работает. Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: March 1, 2015 У меня еще один вопрос. Адрес http://мой_сайт/agents выдает 404 ошибку. Что может быть? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 1, 2015 На этот урл не зарегистрировано ни одного частного обработчика и дефолтный тоже не может получить из него каких либо параметров для выполнения действия по умолчанию. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: March 1, 2015 как сделать такой обработчик? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 1, 2015 Что там должно быть? Список агентов? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kmavega 2 Жалоба Опубликовано: March 2, 2015 Что там должно быть? Список агентов?да Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 2, 2015 Я делал так.В main.php в main() ставил перехватчикif ( !$has_result && preg_match('/^userlist[\/]?$/', $REQUESTURIPATH) ) {$this->userlist();$has_result=true;}и в этом же классе frontend_main определял наипростейший обработчикprotected function userlist(){$users=array();$DBC=DBC::getInstance();$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND user_id<>2 ORDER BY fio ASC';$stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$users[]=$ar;}}$this->template->assert('users', $users);$this->template->assert('main_file_tpl', 'userlist.tpl');}Для вывода создавал шаблончик /template/frontend/agency/userlist.tpl<div class="userlist">{foreach from=$users item=user}<div class="userlist-user"><div class="userlist-user-foto">{if $user.imgfile!=''}<img src="{$estate_folder}/img/data/user/{$user.imgfile}">{/if}</div><div class="userlist-user-info"><div class="userlist-user-info-fio">{$user.fio}</div><div class="userlist-user-info-phone">{$user.phone}</div><div class="userlist-user-info-email">{$user.email}</div><div class="userlist-user-info-link"><a href="{$estate_folder}/user{$user.user_id}.html">More info</a></div></div></div>{/foreach}</div>Т.е. для конкретного случая нужно просто изменить метку в перехватчике с userlist на свою, в userlist() уточнить ограничения на выборку пользователей (что бы не выбирать технических пользователей или админов) и в шаблоне прописать свои красоты и способ формирования ссылки на куда-то с конкретного пользователя. 1 kmavega reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: June 5, 2016 а где же все же редактируется формируемый файл чтобы к примеру вставить данные пользователя телефоны банер ссылки и так далее? так как сейчас пишется просто "все объявления от иван ивановича" а хотелось бы к примеру кое что добавить и выводить типа "все объявления от иван ивановича" сайт такой то номер телефона такой то ссылка вконтак такая то Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
metrpro 42 Жалоба Опубликовано: July 21, 2016 В 05.06.2016 в 15:38, doma сказал: а где же все же редактируется формируемый файл чтобы к примеру вставить данные пользователя телефоны банер ссылки и так далее? Он формируется в шаблоне userlist.tpl В 02.03.2015 в 11:54, abushyk сказал: /template/frontend/agency/userlist.tpl Получится вроде этого - агентства недвижимости, застройщики. К каждому пользователю добавлена куча параметров, включая skype, viber и координаты для отображения на карте (застройщики все так оформлены). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах