evol22

Участники
  • Публикации

    17
  • Зарегистрирован

  • Посещение

  • Days Won

    1

Изменения репутации

  1. Like
    evol22 получил репутацию от Кэтти в Как добавить новый язык(language)   
    Подскажите, а как удалить английский, чтоб не было возможности выбора, делаю так -
     
    /apps/language/admin/admin.php  удаляю английский, все равно он в переключателе есть...  
     
    просто хотел бы оставить только русский язык без возможности выбора.
  2. Like
    evol22 получил репутацию от Дмитрий Кондин в как создать связи в форме поиска   
    нужно прописать условия поиска в файле template_search.php
    допустим у нас есть поле balka и я хочу чтоб оно присутствовало в форме поиска и была возможность искать по нему, вот мануал:
     
    {ключ~~значение}
    Ключ - лучше делать числовым значением. Это удобнее и для целостности БД (если вы вдруг поменяете значение "есть" на "что-то другое", а в полях базы так и останутся значения "есть".)
    Если вам критично иметь осмысленные ключи
    ТОгда 
    перехват
    if(''!==$this->getRequestValue('balka')){$params['balka'] = $this->getRequestValue('balka'); // тут не надо (int) - вы перехватываете текст
    }
    обработка
    if(isset($params['balka']) && isset($data_model_array['balka'])){$where_array[]=DB_PREFIX."_data.balka='".$params['balka']."'"; //тут добавляем кавычки вокруг значения, ибо текст, а не число
    }
    В случае, если ключи у вас циферки
    if(0!==(int)$this->getRequestValue('balka')){$params['balka'] = (int)$this->getRequestValue('balka'); // тут приводим к целому - перехватываете число
    }
    но тут надо учитывать смысл ключей. Обычно ключ 0 означает отсутствие значения {0~~не указано}{1~~есть}{2~~нет}. Поєтому в зависимости от єти значений нужно принимать решение, какие значения balka из запроса могут считаться таковіми, что поиск по єтому параметру проводить не нужно. И отсекать не по равенству 0, а по какому-то другому принципу.
     
     
    обработка
    if(isset($params['balka']) && isset($data_model_array['balka'])){$where_array[]=DB_PREFIX."_data.balka=".$params['balka']; //кавычки не нужны, так как число
    }
     
    т.е. файл template_search.php
    должен иметь такое содержание
     
    <?php
    class Template_Search extends SiteBill {
        public function getParams(){
            $params=array();
           if(0!==(int)$this->getRequestValue('balka')){
    $params['balka'] = (int)$this->getRequestValue('balka');
    }
            return $params;
        }
        public function run(){
            $where_array=array();
            $params=$this->getParams();
            require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
            $data_model = new Data_Model();
            $data_model_array = $data_model->get_kvartira_model(false);
            $data_model_array = $data_model_array['data'];
    if(isset($params['balka']) && isset($data_model_array['balka'])){
    $where_array[]=DB_PREFIX."_data.balka=".$params['balka']; //кавычки не нужны, так как число
    }
            return array(
                'where'=>$where_array,
                'params'=>$params
            );
        }
     
    и так каждый параметр
    поле балка у меня было представлено в селектбоксе с таким параметром
     
    {0~~выбрать}{1~~нет}{3~~да}
     
    надеюсь кому-то помог)
  3. Like
    evol22 изменил репутацию abushyk в Создание форм поиска   
    Попробуйте добавить в параметрі поля price модели параметр is_ranged=1. Должны получиться поля диапазона.
    Позунка нет и, в ближайшее время в автоформах, не будет.
  4. Like
    evol22 изменил репутацию abushyk в English version создание сайта на двух языках   
    Админка /admin/index.php?action=structure
    Тут для каждого пункта меню необлодимо указать иноязычные названия.