ipr25 0 Жалоба Опубликовано: July 6, 2015 Добрый день!А кто выводится в этот список? site.ru/agents дело в том что пользователей несколько но с данном списке отображается только администратор как вывести сюда определенную группу пользователей скажем агентства недвижимости? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 6, 2015 Описание тутhttp://www.etown.ru/s/topic/1432-%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0-%D0%B2%D1%81%D0%B5%D1%85-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%BE%D0%B2/?hl=agent#entry15680Для того чтобы определить кто там будет, смотрите ид группu.group_id IN ( 2, 3 ) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 17, 2015 Описание тутhttp://www.etown.ru/s/topic/1432-%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0-%D0%B2%D1%81%D0%B5%D1%85-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%BE%D0%B2/?hl=agent#entry15680Для того чтобы определить кто там будет, смотрите ид группu.group_id IN ( 2, 3 ) Все получилось спасибо правда возник ещеу меня в шаблоне есть такой код agen_tslist <div class="col-md-8"> <div class="agent-info"> <div class="counts"><strong>{$agentslist_item._cnt}</strong><span>Объектов</span></div> <h3><a href="{$estate_folder}/user{$agentslist_item.user_id}.html">{$agentslist_item.fio}</a></h3> <!--<p>об агенте можно вывести</p>--> </div> Каким образом выводить информацию об агенте? И где пользователь сможет ее заполнять? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 17, 2015 Еще возник 1 вопрос пытаюсь сделать 2 разные страницы для разных групп1 работает на основе ее пытаюсь сделать дублю, в main.php как я понял нужно дублировать и поправить функцию private function getAgents(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 2 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ret[]=$ar;}}$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'agents_list.tpl');} Подскажите пожалуйста в какой месте нужно править чтобы все это потом связать с формой в шаблоне <div class="block-heading"> <h4><span class="heading-icon"><i class="fa fa-users"></i></span>Агенства недвижимости</h4></div><div class="agents-listing"> <ul> {foreach from=$agentslist_items item=agentslist_item} <li class="col-md-12"> <div class="col-md-4"> <a href="{$estate_folder}/user{$agentslist_item.user_id}.html" class="agent-featured-image"> {if $agentslist_item.imgfile!=''} <img src="{$estate_folder}/img/data/user/{$agentslist_item.imgfile}" alt=""> {else} <img src="{$estate_folder}/template/frontend/{$current_theme_name}/img/no_photo.png" alt=""> {/if} </a> </div> <div class="col-md-8"> <div class="agent-info"> <div class="counts"><strong>{$agentslist_item._cnt}</strong><span>Объектов</span></div> <h3><a href="{$estate_folder}/user{$agentslist_item.user_id}.html">{$agentslist_item.fio}</a></h3> <!--<p>об агенте можно вывести</p>--> </div> <div class="agent-contacts clearfix"> <h3> <ul> {if $agentslist_item.phone ne ''}<i class="fa fa-phone"></i> {$agentslist_item.phone}{/if} {if $agentslist_item.mobile ne ''}<i class="fa fa-phone"></i> {$agentslist_item.mobile}{/if} {if $agentslist_item.email ne ''}<i class="fa fa-envelope"></i><a href="mailto:{$agentslist_item.email}"> {$agentslist_item.email}</a>{/if} {if $agentslist_item.icq ne ''}<i class="fa fa-envelope"></i>{$agentslist_item.icq}{/if} </ul> </h3> </div> </div> </li> {/foreach} </ul></div>Если дублировать в этом виде по основному домену открывается белая страница (удаляю дубль все нормализуется) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 17, 2015 Если дублировать в этом виде по основному домену открывается белая страница (удаляю дубль все нормализуется) Покажите как вы это дублируете. Что пишите. И какие ошибки (включить вывод ошибок в ./index.php) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 17, 2015 Покажите как вы это дублируете. Что пишите. И какие ошибки (включить вывод ошибок в ./index.php)Не силен в PHP но предположил что $this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'agents_list.tpl');} По умолчанию в этой функции agents_list.tpl не случайно прописанноОставил данную функцию и ниже продублировал ее только Заменил agents_list.tpl на list.tpl изменил u.group_id IN (5 ) Создал шаблон list.tplи добавил в него код<div class="block-heading"> <h4><span class="heading-icon"><i class="fa fa-users"></i></span>Агенства недвижимости</h4></div><div class="agents-listing"> <ul> {foreach from=$agentslist_items item=agentslist_item} <li class="col-md-12"> <div class="col-md-4"> <a href="{$estate_folder}/user{$agentslist_item.user_id}.html" class="agent-featured-image"> {if $agentslist_item.imgfile!=''} <img src="{$estate_folder}/img/data/user/{$agentslist_item.imgfile}" alt=""> {else} <img src="{$estate_folder}/template/frontend/{$current_theme_name}/img/no_photo.png" alt=""> {/if} </a> </div> <div class="col-md-8"> <div class="agent-info"> <div class="counts"><strong>{$agentslist_item._cnt}</strong><span>Объектов</span></div> <h3><a href="{$estate_folder}/user{$agentslist_item.user_id}.html">{$agentslist_item.fio}</a></h3> <!--<p>об агенте можно вывести</p>--> </div> <div class="agent-contacts clearfix"> <h3> <ul> {if $agentslist_item.phone ne ''}<i class="fa fa-phone"></i> {$agentslist_item.phone}{/if} {if $agentslist_item.mobile ne ''}<i class="fa fa-phone"></i> {$agentslist_item.mobile}{/if} {if $agentslist_item.email ne ''}<i class="fa fa-envelope"></i><a href="mailto:{$agentslist_item.email}"> {$agentslist_item.email}</a>{/if} {if $agentslist_item.icq ne ''}<i class="fa fa-envelope"></i>{$agentslist_item.icq}{/if} </ul> </h3> </div> </div> </li> {/foreach} </ul></div>после сохранения выводится белый лист в том числе на главной (я думаю что я что-то не правильно сделал) Видимо не все так просто и делать копию функции рядом нельзя Может заменить какие обозначения нужно чтобы не было конфликта? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 17, 2015 По умолчанию в этой функции agents_list.tpl не случайно прописанноОставил данную функцию и ниже продублировал ее только Заменил agents_list.tpl на list.tpl изменил u.group_id IN (5 ) Вот эти две функции сюда скопируйте полностью. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 18, 2015 Вот эти две функции сюда скопируйте полностью.вот как есть по умолчанию и она работает на наблоне agents_list.tplprivate function getAgents(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 2 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ret[]=$ar;}}$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'agents_list.tpl');}пытаюсь разобраться как запустить такую же функцию с с тем же что и agents_list.tpl кодом шаблона на другой странице но с другим u.group_id IN (5 ) Подскажите где копать (хочу разобраться так как еще не раз понадобиться)? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 20, 2015 Думаю вы скопировали две функции и сделали им одинаковые именаgetAgents и getAgents и на это у вас ругается.Для второй функции надо назвать ее getAgents1, например.Но потом ее нужно вызвать в main() Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 21, 2015 Думаю вы скопировали две функции и сделали им одинаковые именаgetAgents и getAgents и на это у вас ругается.Для второй функции надо назвать ее getAgents1, например.Но потом ее нужно вызвать в main()Если я правильно понял я создаю шаблон условно list1.tpl Задаю функцию в main.php такого видаprivate function getAgents1(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 5 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ret[]=$ar;}}$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'list1.tpl');}И все должно заработать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 21, 2015 1. После создания функции ее надо еще запустить в main()2. Да, только вызвать ее надо так в main() if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; } Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 21, 2015 1. После создания функции ее надо еще запустить в main()2. Да, только вызвать ее надо так в main() if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }Извиняюсь за назойливость не силен в php Нужно просто заменить условия и вставить код вида private function getAgents1(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 5 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }}$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'list1.tpl');}? Думаю как то так так как рядом они не работают Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 21, 2015 В main() вам нужно вызвать if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }А ту другую функцию поставьте рядом с исходной ) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 22, 2015 В main() вам нужно вызвать if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }А ту другую функцию поставьте рядом с исходной ) Спасибо , теперь конфликта нетно вот такой шаблон list1 с таким кодом <div class="block-heading"> <h4><span class="heading-icon"><i class="fa fa-users"></i></span>Агенства недвижимости</h4></div><div class="agents-listing"> <ul> {foreach from=$agentslist_items item=agentslist_item} <li class="col-md-12"> <div class="col-md-4"> <a href="{$estate_folder}/user{$agentslist_item.user_id}.html" class="agent-featured-image"> {if $agentslist_item.imgfile!=''} <img src="{$estate_folder}/img/data/user/{$agentslist_item.imgfile}" alt=""> {else} <img src="{$estate_folder}/template/frontend/{$current_theme_name}/img/no_photo.png" alt=""> {/if} </a> </div> <div class="col-md-8"> <div class="agent-info"> <div class="counts"><strong>{$agentslist_item._cnt}</strong><span>Объектов</span></div> <h3><a href="{$estate_folder}/user{$agentslist_item.user_id}.html">{$agentslist_item.fio}</a></h3> <!--<p>об агенте можно вывести</p>--> </div> <div class="agent-contacts clearfix"> <h3> <ul> {if $agentslist_item.phone ne ''}<i class="fa fa-phone"></i> {$agentslist_item.phone}{/if} {if $agentslist_item.mobile ne ''}<i class="fa fa-phone"></i> {$agentslist_item.mobile}{/if} {if $agentslist_item.email ne ''}<i class="fa fa-envelope"></i><a href="mailto:{$agentslist_item.email}"> {$agentslist_item.email}</a>{/if} {if $agentslist_item.icq ne ''}<i class="fa fa-envelope"></i>{$agentslist_item.icq}{/if} </ul> </h3> </div> </div> </li> {/foreach} </ul></div>не работает Для проверки на старой функции и на новой оставил один и тот же id на старой странице агент отображается на новой просто заголовок с пустым списков Подойдет ли такой код под новое название функции? Или 1 приписать нужно? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 22, 2015 Посмотрите что вообще в массиве получилось?private function getAgents1(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 5 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }}echo '<pre>';print_r($ret);echo '</pre>';$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'list1.tpl');} Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 22, 2015 Посмотрите что вообще в массиве получилось?private function getAgents1(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 5 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if ( !$has_result && preg_match('/^agents1[\/]?$/', $REQUESTURIPATH) ) { $this->getAgents1(); $has_result=true; }}echo '<pre>';print_r($ret);echo '</pre>';$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'list1.tpl');} С этой функцией белый экран а с этой все запускается но не выводит агентов private function getAgents1(){$ret=array();$DBC=DBC::getInstance();/*$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND()';*/$query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 5 ) GROUP BY d.user_id ORDER BY _cnt DESC';$stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ret[]=$ar;}}$this->template->assign('agentslist_items', $ret);$this->template->assert('main_file_tpl', 'list1.tpl');}Я знаю я ужасный клиент , аж тема горячая стала) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 22, 2015 Добавьте в вашей рабочей функции вот эти строчкиecho '<pre>';print_r($ret);echo '</pre>';Перед этой строчкой$this->template->assign('agentslist_items', $ret);Выведет что-нибудь над сайтом? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ipr25 0 Жалоба Опубликовано: July 22, 2015 Работать вроде продолжает но вроде ничего не изменилось? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 22, 2015 Работать вроде продолжает но вроде ничего не изменилось?Это значит1. Что функция вообще не вызывается, т.е. неправильно ее прописали2. Что запрос неправильно построен и не возвращает данные.Надо отлаживать эти моменты. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах