-
Публикации
4036 -
Зарегистрирован
-
Посещение
-
Days Won
269
Все публикации пользователя abushyk
-
Вот теперь начинается настоящий кайф) В getImage() после вызова $img = $this->getAccountValue(); делайте отладочный вывод var_dump($img); и смотрите, соответствует ли он ожиданиям. ПС. Надеюсь return в getImage не забыли?
-
function getImage() { ///отсюдава $query = "select * from results_score order by yscore, mscore LIMIT 1";$this->db->exec($query);$this->db->fetch_assoc();$em = $this->db->row['email'];/// досюдова/// уберите $img = $this->getAccountValue();а в остальном должно работать.
-
И в гридменеджере и в Редакторе форм драгндроп работает от одного UI. Посмтрите в Хроме в консоли, там где XHR запросы. при отпускании перетаскивания буде вызов на /apps/table/js/ajax.php Гляньте, не получает ли оно в ответ 404. и есть ли в /apps/table/admin/admib.php обработка reorder_columns function ajax () { if($this->getRequestValue('action') == 'reorder_columns'){ $this->reorder_columns($this->getRequestValue('ids')); }
-
function getAccountValue($em) {Зачем передаете в нее $em, если вы имейл получаете внутри из getemail() ? Так же в getImage зачем скл-запрос, если вы уже получаете готовое поле с картинкой из getAccountValue ?
-
Функция getAccountValue - получает значение поля с картинкой из ьаблицы пользователей по мылу. Функция getImage - строит кусок разметки используя результат работы getAccountValue . В ней же и проверяется, если getAccountValue вернула пустоту, значит строится заглушечная разметка, если нет, значит красивая картинка с лицом пользователя. И напрямую вызывать вы будете только getImage а она уже вызовет сама getAccountValue , когда определится с имейлом нужного пользователя (тут я не знаю откуда вы его будете брать). Результат getImage прицепить к переменной, которая возвращается функций, которая вызовет getImage . Вот по этому алгоритму и стройте код. Можете даже для определения имейла ввести отдельную функцию. Чм проще функция и чем более "узкоспециализированна" она есть, тем проще и в поддержке, и в изменении, и в ловле ошибок.
-
Помогите создать условие для поверки
topic ответил в denkurgan abushyk в Приложения, модули, настройки
Как вариант попробуйте сравнивать с {$smarty.post.topic_id} {if $smarty.post.topic_id==120} В базовой версии происходит определение топик_ид для адресной строки, и если она определилась, то она попадает именно туда. -
В сайтбилле есть два принципиально разных типа форм поиска - стандартная (та которая доступна в шаблоне при установке) и пользовательская (которые создаются Редактор Форм - Формы Поиска). Основная разница между ними в том, что последняя создается автоматически из выбранных вами элементов, в то время как первая - продукт ручной работы. За создание стандартной формы отвечает базовый класс Kvartira_Search_Form (/apps/system/lib/frontend/search/kvartira_search.php) либо его локальный наследник - Local_Kvartira_Search_Form (/template/frontend/nuzhendom/main/search/local_kvartira_search.php) как пример , либо его заменитель Kvartira_Search_Form (/template/frontend/capitol/main/search/kvartira_search.php). Эти классы либо заменяют базовый, либо расширяют его. Принцип работы таков, что в одном из этих классов, обычно локальном или переопределенном, что бы не затиралось при обновлениях, реализуется генерация нужных элементов. Например в базовом классе реализуется генерация $city_list. Поэтому жтот список выводится в форму. Но ваш $shosse_list не определен в этом классе, поэтому и не выводится. После генерации элементов стандартной формы, эти значения перехватываются в шаблоне search_form.tpl/standart_search_form.tpl( в зависимости от шаблона ). Тут вы сами нашли куда вставлять свою переменную. Грубо говоря порядок действий таков. В свой шаблон вы копируете файл /apps/system/lib/frontend/search/kvartira_search.php в папку /template/frontend/имя_шаблона/main/search/ и переименовываете его в local_kvartira_search.php. В этом файле меняете строку class Kvartira_Search_Form extends SiteBill { на class Local_Kvartira_Search_Form extends SiteBill { либо на class Local_Kvartira_Search_Form extends Kvartira_Search_Form { Родитель не важен, поскольку вы будете переопределять единственный доступный метод класса. Но я бы советовал наследовать от Kvartira_Search_Form поскольку возможно, что в Kvartira_Search_Form будут добавляться новые фичи. Метод function __construct() { $this->SiteBill(); } оставляете. Сердце поиска - функция main(). В нем определена генерация элементов. Примерно вот так будет выглядеть ваш генератор $this->template->assert('shosse_list', $form_generator->get_single_select_box_by_query($kvartira_model['data']['shosse_id'])); Этой строкой необходимо дополнить код функции main(). Единственное, что вот тут $kvartira_model['data']['shosse_id'] вместо shosse_id должно стоять системное имя вашего поля, в котором хранится ид шоссе, из модели таблицы data. После этого переходим к контроллеру шаблона \template\frontend\имя_шаблона\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.'/apps/system/lib/frontend/search/kvartira_search.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/search/local_kvartira_search.php'); $kvartira_search_form = new Local_Kvartira_Search_Form();$kvartira_search_form->main(); т.е. инициализируем локальный поиск. Вот после этого можем в шаблон формы поиска вставлять {$shosse_list} После всего этого, если вывод списка шоссе состоялся, встает другой вопрос - как обработать переданные с запросом значения выбранных шоссе.
-
В шаблоне realty_view.tpl есть переменная $user_data - содержащая инфу оподателе, если этот податель - регистрированный пользователь. Имя группы лежит в $user_data.group_id.value_string
-
Вы не программист? В вызове внутри getImage $em должен передаться, вы его там ловите из БД. Но откуда же $em передастся в getAccountValue($em), которая вызывается в main() после getImage(), если единственное место, где вы ее определили - это внутри функции getImage(). Но само значение не может "выскочить" из getImage наружу, что бы попасть в getAccountValue, которая аботает не внутри нее.
-
итак, мы имеем пустую переменную и вполне логично, что условие !empty не выполняется.
-
Проверьте, точно ли не пуста переменная на момент вызова !empty(). Посмотрите, что возвращает $this->getAccountValue($em); через var_dump($img);
-
Если это select_box, то да, тут не добавишь. А если это select_by_query, то существует вариант с auto_add - полями. Т.е. сам селектбокс выводит присутствующие в таблице данные, но есть дополнительное, несохраняемое, поле типа auto_add, значение введенное в которое будет дописано в таблицу, указанную в его настройках. Напрмер select_by_query поле street_id - выводит улицы из таблицы street. А auto_add поле new_street при сохранении добавляет новую запись в таблицу street.
-
Поле добавленное в модель как safe_string штатными средствами в данный момент могут быть выведены в форму поиска либо как текстовое поле (для поиска по точному значению), либо как диапазонный элемент (для поиска в промежутке, логично для числовых значений, требует некоторой доработки). Возможности превратить safe_string в селектбокс с набором существующих значений самим движком сейчас нет
-
Собственно именно так, как вы и написали в примере. Делаете проверку через empty или сравнивая с пустой строкой, принимаете решение какую разметку вывести. Что вы имеете в виду "т.е. email первого запроса нету во втором запросе "? Если смотреть сюда $rs = $this->getTopMenu();$rs .= $this->getImage();$rs .= $this->getAccountValue($em); то первый запрос у вас, я так понимаю, в getImage(); а второй в getAccountValue(). И вы имеете в виду, что после срабатывания getImage не срабатывает удачно getAccountValue после него, так как в нем нет названия ящика почты?
-
Эти ошибки естественны. Замените вашу функцию на function getAccountValue($em) {echo 'ARGS: '.$em.'<br />';$query = "select * from ".DB_PREFIX."_user where email='savvvv_sd@mail.ru' LIMIT 1";echo 'QUERY: '.$query.'<br />';$this->db->exec($query);if(!$this->db->success){echo 'Error in statement<br />';}$this->db->fetch_assoc();echo '<pre>';print_r($this->db->row);echo '</pre>';return $this->db->row['imgfile'];}и запустите. посмотрим, что отладка скажет.
-
Строку //error_reporting(E_ALL);в файле index.php раскомментировывали? Если нет, снимите коммент или допишите ее после error_reporting(E_ERROR | E_WARNING); и посмотрите, нет ли варнингов. Проверьте, есть ли в корне вашей установки файл log_000.txt. Если есть, очистите его и после запуска кода проверьте содержиоме - туда складывает ошибки модуль DBC