AlekseyLego 0 Жалоба Опубликовано: April 11, 2017 Здравствуйте! Шаблон Реалия. В файле realty_view.tpl есть html таблица: <table> <TR><TD width="50%" align="left" valign="top">Адрес склада</TD><TD>{$data.adres.value_string}</TD></TR> <TR><TD width="50%" align="left" valign="top">Направление / ближайшее шоссе</TD><TD>{$data.city_id.value_string}</TD></TR> <TR><TD width="50%" align="left" valign="top">Удалённость от МКАД в км</TD><TD>{$data.ydalenost_ot_mkad.value}</TD></TR> </table> в которой присутствует такие штуки: {$data.adres.value_string} {$data.city_id.value_string} {$data.ydalenost_ot_mkad.value} которые выводят информацию о объекте с таблицы data. На одной странице отображается информация только об _одном_ объекте. Вопрос: Можно ли на основе этих штуковин создать отдельную страницы (к примеру сайт.ру/страница2) в которой организовать вывод информации о _нескольких_ объектах _одновременно_? Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: April 11, 2017 Это как список объявлений по смыслу, только не по фильтру, а по конкретному перечню ид? Или нужно получить их именно в виде моделей, что бы иметь доступ к select_by_query-полям? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: April 11, 2017 1 минуту назад, abushyk сказал: Это как список объявлений по смыслу, только не по фильтру, а по конкретному перечню ид? Это как в комплексе несколько квартир, или в бизнес центре доступные площадя. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlekseyLego 0 Жалоба Опубликовано: April 11, 2017 58 минут назад, abushyk сказал: Это как список объявлений по смыслу, только не по фильтру, а по конкретному перечню ид? Или нужно получить их именно в виде моделей, что бы иметь доступ к select_by_query-полям? Да. Хочу сделать такую таблицу (или несколько таблиц) в которых отображалась бы информация по нескольким складам одновременно. Без оформления, картинок и тд. Примерно так: <table> <TR><TD>Склад №1</TD><TD>Характеристика 1.1</TD><TD>Характеристика 1.2</TD><TD>Характеристика 1.3</TD></TR> <TR><TD>Склад №2</TD><TD>Характеристика 2.1</TD><TD>Характеристика 2.2</TD><TD>Характеристика 2.3</TD></TR> <TR><TD>Склад №3</TD><TD>Характеристика 3.1</TD><TD>Характеристика 3.2</TD><TD>Характеристика 3.3</TD></TR> </table> Вопрос в том, как в графу "Характеристика 3.2" заставить выводить информацию по второй характеристике третьего склада. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlekseyLego 0 Жалоба Опубликовано: April 11, 2017 1 час назад, TopRaN сказал: Это как в комплексе несколько квартир, или в бизнес центре доступные площадя. Нет-нет. Это просто удобный способ получить доступ к информации по множеству объектов. Только для себя, посетитель этого не увидит. Такая закрытая страница. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: April 13, 2017 я не уверен, что понял что именно нужно, поэтому предложу вариант в слепую //эта часть размещается в main.php там где обработчик адреса //подключаем нужные модели и создаем эталонную модельку объекта require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $form_data_shared = $data_model->get_kvartira_model(false, true); //создаем массив с идешками нужных объектов $my_objs=array(154, 10, 200); //выбираем объеты по эм идешкам в массив $result = $data_model->init_model_data_from_db_multi ('data', 'id', $my_objs, $form_data_shared['data'], true, true); //отправляем в шаблон $this->template->assign('objects', $result); в теории, после этого, в $result у вас будет находиться массив с ключами в виде идешек объектов. Например {$result[10]} это будет объект с ид=10, а {$result[10].city_id.value_string} название города объекта с ид=10 вот такой вариант. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlekseyLego 0 Жалоба Опубликовано: April 13, 2017 12 часа назад, abushyk сказал: я не уверен, что понял что именно нужно, поэтому предложу вариант в слепую //эта часть размещается в main.php там где обработчик адреса //подключаем нужные модели и создаем эталонную модельку объекта require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $form_data_shared = $data_model->get_kvartira_model(false, true); //создаем массив с идешками нужных объектов $my_objs=array(154, 10, 200); //выбираем объеты по эм идешкам в массив $result = $data_model->init_model_data_from_db_multi ('data', 'id', $my_objs, $form_data_shared['data'], true, true); //отправляем в шаблон $this->template->assign('objects', $result); в теории, после этого, в $result у вас будет находиться массив с ключами в виде идешек объектов. Например {$result[10]} это будет объект с ид=10, а {$result[10].city_id.value_string} название города объекта с ид=10 вот такой вариант. Похоже на то. Но, не могли бы Вы простым языком объяснить, что и в какое место какого файла вставить? И как это разместить на отдельной странице? Моих знаний, к сожалению, для этого не хватает. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: April 14, 2017 В main.php файле в папке шаблона сделайте точку входа if ( !$has_result && $REQUESTURIPATH=='test') { {*ТУТ ВСТАВИТЬ КОД*} $this->template->assert('main_file_tpl', 'mytpl.tpl'); $has_result=true; } добавьте его например после блока if(!$has_result){ $apps_processor = new Apps_Processor(); $apps_processor->run_frontend(); if ( count($apps_processor->get_executed_apps()) > 0 ) { $work_subcontroller='apps'; $has_result=true; } } Потом в папку шаблона сделать файл mytpl.tpl и там уже каким-то образом вывести из {$objects} переменной эти записи. И по адресу ваш_сайт/test в теории должен быть результат. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlekseyLego 0 Жалоба Опубликовано: April 23, 2017 В 15.04.2017 в 02:36, abushyk сказал: В main.php файле в папке шаблона сделайте точку входа if ( !$has_result && $REQUESTURIPATH=='test') { {*ТУТ ВСТАВИТЬ КОД*} $this->template->assert('main_file_tpl', 'mytpl.tpl'); $has_result=true; } добавьте его например после блока if(!$has_result){ $apps_processor = new Apps_Processor(); $apps_processor->run_frontend(); if ( count($apps_processor->get_executed_apps()) > 0 ) { $work_subcontroller='apps'; $has_result=true; } } Потом в папку шаблона сделать файл mytpl.tpl и там уже каким-то образом вывести из {$objects} переменной эти записи. И по адресу ваш_сайт/test в теории должен быть результат. Я понимаю суть, но не могу это реализовать. Вы можете это сделать на возмездной основе? Готов продолжить обсуждение в личке. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах