makelly

выпадающий список материала стен

Recommended Posts

Уважаемый пользователи, подскажите плиз, как его сделать, что надо  в шаблоне в ручную прописать чтоб из базы выводился этот список в поиске, {$walls} - не прокатывает))

очень наджо именно так, а не из админки конструтором

Заранее всем спасибо!!!!

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


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

Для генерации элементов форм во вкладке "Все" в поиске используется вот этот скрипт

/apps/system/lib/frontend/search/kvartira_search.php

Например, выпадающий список стран генерируется вот этим в методе main()

$this->template->assert('country_list', $form_generator->get_single_select_box_by_query($kvartira_model['data']['country_id']));

Теперь в шаблоне селект стран будет доступен {$country_list}

Для того, чтобы добавить материал стен вам нужно

1. Создать локальный класс поиска

Для этого копируем 

/apps/system/lib/frontend/search/kvartira_search.php

в 

/template/frontend/agency/main/kvartira_search.php

Меняем вызов класса в /template/frontend/agency/main/main.php

Вот эти строчки

		require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/search/kvartira_search.php');		$kvartira_search_form = new Kvartira_Search_Form();		$kvartira_search_form->main();

на эти

		require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/agency/main/kvartira_search.php');		$kvartira_search_form = new Kvartira_Search_Form();		$kvartira_search_form->main();

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

В локальном классе поиска добавляем инициализацию списка материалов стен:

$this->template->assert('walls', $form_generator->get_select_box($kvartira_model['data']['walls']));

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

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


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

а если шаблон capitol ? то без разницы?

да у меня select_box

Если capitol то в путях меняете agency -> capitol

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


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

я не большой спец в этом, разместил

$this->template->assert('walls', $form_generator->get_select_box($kvartira_model['data']['walls']));

в main.php

или где его надо было писать

у меня сейчас выдает ошибку

Fatal error: Call to a member function get_select_box() on a non-object in /public_html/template/frontend/capitol/main/main.php on line 134

:unsure:

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


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

Нда, в main.php как раз неправильно.

Почитайте внимательно что я написал, если не сделаете по инструкции - ничем не могу тогда помочь )

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


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

да я понял что надо в kvartira_search.php - все сделал по подобию других, но ничего) буду искать программиста(

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


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

ну если уж совсем не получится то пишите в личку или скайп будем разбираться

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


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

! Следует воздержаться от создания локальных генераторов формы поиска путем копирования системного файла. Оптимальный путь - создание класса-наследника (http://www.etown.ru/s/topic/241-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F-%D0%B2-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA/?p=2741). Таким способом вы не оторвете ваш локальный файл от системы и сохраните связь с базовым файлом в котором вполне могут появиться полезные изменения, которые будут не доступны при простом копировании.

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


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

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

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

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

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

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

Войти

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

Войти сейчас