vihr

Cтраница с объектами агента /userХХ.html

Recommended Posts

В 23.02.2015 в 06:24, rumantic сказал:

Какие параметры прописываете?

Дима, у меня вопрос: в таблицу user добавил параметр city_id (скопировал полностью из data).

Каким запросом отобразить текстовое значение на странице информации о юзере? Параметр city_id я передаю, но что при использовании .city_id, что .city_id.value_string, у меня отображается только цифровое индексное значение, а не текстовое.

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


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

Дима, у меня вопрос: в таблицу user добавил параметр city_id (скопировал полностью из data).

Каким запросом отобразить текстовое значение на странице информации о юзере? Параметр city_id я передаю, но что при использовании .city_id, что .city_id.value_string, у меня отображается только цифровое индексное значение, а не текстовое.

А какой код у вас получает эту информацию?

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

Скиньте код.

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


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

Скиньте код.

Блин, у меня там все на доработках уже.

Вот - template/frontend/realia/main/main.php:

private function getAgent($id){
		$ret=array();
		$DBC=DBC::getInstance();
		$query='SELECT COUNT( d.id ) AS _cnt, u.group_id, u.city_id, u.user_id, u.fio, u.profilevk, u.profileok, u.profilefb, u.groupvk, u.groupok, u.groupfb, u.phone, u.imgfile, u.mobile, u.email, u.site, u.skype, u.yac1, u.yac2, u.ofadres, u.vibernum, u.fullinfo, g.name AS group_name FROM `'.DB_PREFIX.'_data` d LEFT JOIN '.DB_PREFIX.'_user u USING ( user_id ) LEFT JOIN '.DB_PREFIX.'_group g USING ( group_id ) WHERE u.group_id<>4 AND d.user_id=?';
		$stmt=$DBC->query($query, array($id));

		if($stmt){
			$ret=$DBC->fetch($stmt);
		}
		return $ret;
	}

Передаю все параметры в /userXXX/, включая city_id. Открывается это потом в userinfo.tpl. И там мне надо принять как-то текстовое значение, соответствующее city_id. Но у меня выводится только индекс города.

Город: {$agent_info.city_id.value_string}

 

 

 

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


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

А вы вообще смотрели что у вас выводиться? В функцию вывода агента в tpl поставьте {$agent_info|@print_r} и все увидите.

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


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

Блин, у меня там все на доработках уже.

Вот - template/frontend/realia/main/main.php:

Передаю все параметры в /userXXX/, включая city_id. Открывается это потом в userinfo.tpl. И там мне надо принять как-то текстовое значение, соответствующее city_id. Но у меня выводится только индекс города.

Вот с этого и надо начинать.

Вам теперь в запрос нужно добавить выборку из таблицы city по ключу city_id

http://ru.stackoverflow.com/questions/455053/Выборка-из-3-связанных-таблиц

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


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

Вам теперь в запрос нужно добавить выборку из таблицы city по ключу city_id

В запрос Mysql в таблице user или в запросе в Main.php? Был бы благодарен готовому решению или ссылке на подобное решение в каком-нть модуле sitebill

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


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

В запрос Mysql в таблице user или в запросе в Main.php? Был бы благодарен готовому решению или ссылке на подобное решение в каком-нть модуле sitebill

Готового решения для этой задачи нет. Правки делать нужно в строчке запроса sql.

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


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

Готового решения для этой задачи нет. Правки делать нужно в строчке запроса sql.

Дима, вот почему так сложно готовое решение подсказать? Сейчас в запросе идёт:

select * from re_city order by name

Как надо это изменить?

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


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

Дима, вот почему так сложно готовое решение подсказать? Сейчас в запросе идёт:


select * from re_city order by name

Как надо это изменить?

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

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

Теперь понятнее стало?

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


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

Теперь понятнее стало?

Дима, я советую подобные "разъяснения" сразу на главной странице сайтбила писать - вместо хвалебных отзывов. И напротив каждой функции тоже указывать - "когда нибудь в след версии сделаем". Такой маркетинг целевой. Чтобы всем сразу было понятно, что это очень сложная система, когда стОит кучу бабла. А то взялись тут, понимаешь, всякие, сидят, советы какие-то клянчат, людей от работы отвлекают.

Подобные сообщения от админа почитаешь, и как-будто гавна поел, честное слово.

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


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

Дима, я советую подобные "разъяснения" сразу на главной странице сайтбила писать - вместо хвалебных отзывов. И напротив каждой функции тоже указывать - "когда нибудь в след версии сделаем". Такой маркетинг целевой. Чтобы всем сразу было понятно, что это очень сложная система, когда стОит кучу бабла. А то взялись тут, понимаешь, всякие, сидят, советы какие-то клянчат, людей от работы отвлекают.

Подобные сообщения от админа почитаешь, и как-будто гавна поел, честное слово.

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

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

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


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

Дима, я советую подобные "разъяснения" сразу на главной странице сайтбила писать - вместо хвалебных отзывов. И напротив каждой функции тоже указывать - "когда нибудь в след версии сделаем". Такой маркетинг целевой. Чтобы всем сразу было понятно, что это очень сложная система, когда стОит кучу бабла. А то взялись тут, понимаешь, всякие, сидят, советы какие-то клянчат, людей от работы отвлекают.

Подобные сообщения от админа почитаешь, и как-будто гавна поел, честное слово.

В связи с частыми подобными заявлениями, мы уже с весны 2016 года в форму заказа любого элемента на нашем сайте добавили галочку Согласие с правилами, только согласившись с правилами можно продолжить заказ. Правила тут https://www.sitebill.ru/polzovatelskoe-soglashenie

 

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


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

Дима, яю рпоставитья" сразу Димитрием-предлагаемых отзыво в.  И напротив каждой функции тоже указывать - "когда нибудь в след версии сделаем". Такой маркетинг целевой. Чтобы всем сразу было понятно, что это очень сложная система, когда стОит кучу бабла. А то взялись тут, понимаешь, всякие, сидят, советы какие-то клянчат, людей от работы отвлекают.

Подобные сообщения от админа почитаешь, и как-будто гавна поел, честное слово.

Ок берем любое подобие примера. Вы сделали свой сайт, но Ваш заказчик говорит вам что нужно сделать определенные функции которых нету в продукте из коробки. На что вы выставляет цену на соответствующую доработку. Соответственно и мы предлагаем Свою Цену за дорабокту которая нужна толтко Вам и больше ни кому. Вы же не купите машину в минимальной комплектации, а после придете в салон и не попросит заменить диски, поставитт Споллер, кондей или скажмте , дайте мне готовое решение моей хотелки. Так что в этом случае я с дмитрием Согласен. Нужно время для того что бы понять как реализовать доработку + время ее реализовать. Вот Вы покрасите мне мАшинуагинк.... Машину ... Бесплатно?

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


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

Что за привычка лечить тут? Мы не wp тут обсуждаем, а платный движок. Научитесь с людьми нормально разговаривать. 

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


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

Но у меня выводится только индекс города.

$query='SELECT 
COUNT( d.id ) AS _cnt, u.group_id, u.city_id, u.user_id, u.fio, u.profilevk, u.profileok, u.profilefb, u.groupvk, u.groupok, u.groupfb, u.phone, u.imgfile, u.mobile, u.email, u.site, u.skype, u.yac1, u.yac2, u.ofadres, u.vibernum, u.fullinfo, g.name AS group_name, ci.name AS city_name  
FROM `'.DB_PREFIX.'_data` d 
LEFT JOIN '.DB_PREFIX.'_user u USING ( user_id ) 
LEFT JOIN '.DB_PREFIX.'_group g USING ( group_id ) 
LEFT JOIN `'.DB_PREFIX.'_city` ci ON u.city_id=ci.city_id 
WHERE u.group_id<>4 AND d.user_id=?';

В city_name будет текстовое имя города.

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

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


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

В city_name будет текстовое имя города.

Нет, Костя, не пашет. Возвращает пустое значение в любом случае - city_name, city_name.value, city_name.value_string

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


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

в любом случае - city_name, city_name.value, city_name.value_string

1. нет любого случая - есть только один вариант city_name, ну или city_id для числа.

2. Город не сохраняется. Вот отсюда и проблема. Я задавал город юзеру, но после сохранения он все равно сброшен в ноль.

По самому элементу в модели юзера косяков быть не должно. В редакторе она выглядит "як книжка пише". Проверьте таблицу re_user через пхпмайадмин, что творится с полем city_id. Является ли оно просто INT-типа, без всяких ключей на нем. Существует ли оно вообще. Не жалуется ли эта таблица на поломки и не просит ли починить ее. Начните с этого.

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


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

Все. Отбой. Смотрим поле Запрос для элемента выбора города в модели юзера

select re_city.name from re_city order by name

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

Так что верный запрос должен был выглядеть или как 

select * from re_city order by name

или как

select city_id, name from re_city order by name

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

ПС. Поэтому и города не прописывались на юзера, так как не было идешки и, естественно, не выводились даже по последнему запросу. Проставляйте и наслаждайтесь. Для пробы на АН "Эксклюзив" я выставил.

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


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

ПС. Поэтому и города не прописывались на юзера, так как не было идешки и, естественно, не выводились даже по последнему запросу. Проставляйте и наслаждайтесь. Для пробы на АН "Эксклюзив" я выставил.

Ну, Костя, ну красава! В очередной раз спасибо!

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


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

Так что верный запрос должен был выглядеть или как 

Костя, еще момент, на страницу инфо о пользователе city_name передаётся, а на страницу userlist передаётся только значение city_id. Хотя формируется у меня выборка *:

protected function rieltors(){
$users=array();
$DBC=DBC::getInstance();
$query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id=2 AND user_id<>2 AND user_id<>3 AND user_id<>6 AND user_id<>59 AND user_id<>144 AND user_id<>155 ORDER BY fio ASC';
$stmt=$DBC->query($query);
if($stmt){while($ar=$DBC->fetch($stmt)){$users[]=$ar;}}
$this->template->assert('users', $users);
}

 

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


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

Он формируется в шаблоне userlist.tpl

Получится вроде этого - агентства недвижимости, застройщики. К каждому пользователю добавлена куча параметров, включая skype, viber и координаты для отображения на карте (застройщики все так оформлены).

подскажите пожалуйста поподробнее где найти эти файлы  userlist.tpl  и  userinfo.tpl обсуждаемые в этой теме.  так как используя шаблон реалия так эти файлы не нашли, подскажите что где добавить и где править. чтобы при заходе на страницу userXXX.html  отображать дополнительную информацию об авторе разместившим объявление, а так же где эти данные содержатся и куда именно заносить, что нужно править в админке в таблице USER. а так же чтобы отображать количество объявлений у пользователя

чтобы формат данных при заходе на userXXX.html можно было отображать в таком виде

Агентство недвижимости "Большой Дом"

Купля-продажа жилья (квартиры, комнаты, доли, дома, земельные участки и т.д.)

Адрес: г.Москва ул Свободная дом 21 А офис 504

телефон +7 999 888 99 11

сайт sait.ru

Email inn@sait.ru

время работы с 13 до 16

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


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

Подскажите а где содержится "все объявления от агенства" формируется ссылка типа saiiit.ru/user55.html

дело в том, что выборку мы сделали и вроде все работает правильно, но вот не всегда правильна ятрактовка -вышеописанная, так как не всегда может быть объявление от агенства, и оно может быть от обычного собственника, вот и хотим поправить ее формирвоание, написав просто "все объявления от ....."
но там титл формируется не понятно где и вероятнее там и меняется, так как сейчас
код такой
{if $grid_items|count==0}     
    <h1 class="page-header">объявления не найдены
{else}
    <h1 class="page-header">{$title}</h1>
вот тут title и подставляется не правильное
где посмотреть и что изучать?
формируется вроде в файле main.php и данные выдергиваются
а вот подстановка title идет в файле realty_grid.tpl

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


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

Этот тайтл состоит из словарного слова AGENT_ADS которое обычно равно "Все объявления от" + то, что значится в поле fio модели просматриваемого юзера. Т.е. изменить этот заголовок так, как вам нужно, у вас сменой словарного слова не получится. Но вы можете в блоке

if(preg_match('/^user(\d+).html/', $REQUESTURIPATH, $matches)){

в main.php шаблона, псоле вызова формировщика списка $this->grid_adv(), получить данные юзера из БД через массив или через модель (на форуме кажется уже было описание получения данных в main.php), используя их сформировать подходящий заголовок и запулить его в шаблон через

$this->template->assign('title', $title);

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас