abushyk

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

Recommended Posts

8 минут назад, Opossum_Shultz сказал:

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

Хотя, многое уже всё заложено в CMS. Просто заходим в Админке в Структуру, и к каждому типу недвижимости заполняем описание, туда и пишем тексты по теме, вставляем нужные ссылки и т.п., оно и выведется при выборе конкрентной категории в главном меню. Вот например у меня эксперимент со страницей по загранке. Но при просмотре конкретного объявления без скрипта похоже не обойтись, хотя-бы предметные ссылки на готовые выборки через Линк-менеджер не помешают. :)

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


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

Хотя, многое уже всё заложено в CMS. Просто заходим в Админке в Структуру, и к каждому типу недвижимости заполняем описание, туда и пишем тексты по теме, вставляем нужные ссылки и т.п., оно и выведется при выборе конкрентной категории в главном меню. Вот например у меня эксперимент со страницей по загранке. Но при просмотре конкретного объявления без скрипта похоже не обойтись, хотя-бы предметные ссылки на готовые выборки через Линк-менеджер не помешают. :)

Смотрим по каким запросам что наиболее востребовано и через Линк - менеджер - фигачим набор актуальных ссылок. естественно за актуальностью следим.

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


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

Наверное можно будет как то перенести в карточку объекта такие кнопки билинга как ВИП, ТОП, СПЕЦ ?

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


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

Добавляем информацию о владельце в данные объектов из списка Похожие.

 

Определяемся с нужными нам полями с данными владельца. Например нам нужно имя (лежит в поле с системным именем fio) и фото (поле с системным именем imgfile)

Внутри 

class Local_Kvartira_View extends Kvartira_View {

}

создаем код функции

protected function getSimilar($categories, $params = array()){
	$datas = parent::getSimilar($categories, $params);
	if(!empty($datas)){
            $users=array();
            $fields=array('fio', 'imgurl'); //тут через запятую перечисляем в кавычках системные имена нужных полей
        
            foreach($datas as $v){
                $uid=intval($v['user_id']['value']);
                $users[$uid]=array();
            }
            
            if(!empty($users) && !empty($fields)){
                $DBC=DBC::getInstance();
                $query='SELECT `user_id`, `'.implode('`,`', $fields).'` FROM '.DB_PREFIX.'_user WHERE user_id IN ('.implode(',', array_keys($users)).')';
                $stmt=$DBC->query($query);
                if($stmt){
                    while($ar=$DBC->fetch($stmt)){
                        $uid=intval($ar['user_id']);
                        $users[$uid]=$ar;
                    }
                }
                
                foreach($datas as $k=>$v){
                    $uid=intval($v['user_id']['value']);
                    if(isset($users[$uid])){
                        $datas[$k]['_user_info']=$users[$uid];
                    }
                }
            }
        }
	return $datas;
}

Теперь в шаблоне в переменной {$similar_data[x]._user_info} у нас будет массив с данными.

Например

{$similar_data[x]._user_info.fio} - ФИО
{$similar_data[x]._user_info.imgfile} - имя фотки
<img src="{$estate_folder}/img/data/user/{$similar_data[x]._user_info.imgfile}"> - код вставки элемента фотографии в страницу

 

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


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

Добавляем информацию о владельце в данные объектов из списка Похожие.

 

Определяемся с нужными нам полями с данными владельца. Например нам нужно имя (лежит в поле с системным именем fio) и фото (поле с системным именем imgfile)

Внутри 


class Local_Kvartira_View extends Kvartira_View {

}

создаем код функции


protected function getSimilar($categories, $params = array()){
	$datas = parent::getSimilar($categories, $params);
	if(!empty($datas)){
            $users=array();
            $fields=array('fio', 'imgurl'); //тут через запятую перечисляем в кавычках системные имена нужных полей
        
            foreach($datas as $v){
                $uid=intval($v['user_id']['value']);
                $users[$uid]=array();
            }
            
            if(!empty($users) && !empty($fields)){
                $DBC=DBC::getInstance();
                $query='SELECT `user_id`, `'.implode('`,`', $fields).'` FROM '.DB_PREFIX.'_user WHERE user_id IN ('.implode(',', array_keys($users)).')';
                $stmt=$DBC->query($query);
                if($stmt){
                    while($ar=$DBC->fetch($stmt)){
                        $uid=intval($ar['user_id']);
                        $users[$uid]=$ar;
                    }
                }
                
                foreach($datas as $k=>$v){
                    $uid=intval($v['user_id']['value']);
                    if(isset($users[$uid])){
                        $datas[$k]['_user_info']=$users[$uid];
                    }
                }
            }
        }
	return $datas;
}

Теперь в шаблоне в переменной {$similar_data[x]._user_info} у нас будет массив с данными.

Например


{$similar_data[x]._user_info.fio} - ФИО
{$similar_data[x]._user_info.imgfile} - имя фотки
<img src="{$estate_folder}/img/data/user/{$similar_data[x]._user_info.imgfile}"> - код вставки элемента фотографии в страницу

 

а разве похожие подбираются по пользователю ? вроде было по похожим параметрам.

тут есть конечно несколько вариантов развития событий

1) если на сайте один пользователь -то вышеприведенный вариант наверное сгодится

2) а если 10-15? получается же "похожие" будут выбираться не у конкретного пользователя, а по цене, комнатности, площади и так далее. и не факт что нажмя на какое то объявление вы попадете на объявление первоначального пользователя.

А банзаю зачем такие "похожие" ? с с объявлениями других пользователей ?

Иначе получается смотришь объявление риэлтора Марина, нажимаешь похожее и попадаешь на объявление Ивана, следовательно зачем  делать выборку ? 

 

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

Следовательно сразу вопрос - а что если у пользователя вообще 2 объявления, а список состоит из 6?

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


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

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

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


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

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

аааа примено так поняли :)) правильно ли?

перейдя в определенное объявление снизу сформировалось например 9 похожих объявлений в этих девяти объявлениях будет доп инфо о его владельце, например 

1 объявление от дяди васи + его телефон, 2 объявление от пети +его телефон, 3 объявление от светлана+ его телефон и так далее.  ?

Правильно ли ?

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


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

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

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

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

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

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

Войти

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

Войти сейчас