Поиск по всем полям сторонник компонентов?
Сегодня вечером залью проверю.
kirkr
+278
Репутация
1786
Рейтинг
Никто не попадал на такое???
Добрый день
есть $this->loadDataGrid()
но мне надо выводить информацию где например по одному из столбцов не равно 1 или другому параметру, в документации не нашел как применить фильтр отбора, А НЕ СОРТИРОВКИ/
не совсем понятно как применяется:
'filter' => 'exact'
Документацию читал вот эту.
docs.instantcms.ru/dev/controllers/backend/grids
есть $this->loadDataGrid()
но мне надо выводить информацию где например по одному из столбцов не равно 1 или другому параметру, в документации не нашел как применить фильтр отбора, А НЕ СОРТИРОВКИ/
не совсем понятно как применяется:
'filter' => 'exact'
Документацию читал вот эту.
docs.instantcms.ru/dev/controllers/backend/grids
Переназначение переменной после цикла для чего делаете? Смысл???
Спасибо! То что надо.
Рабочий скрипт для тех кому лень:
Рабочий скрипт для тех кому лень:
public function last10() { $this->joinInner('dogovora', 'd', 'i.id=d.id_abonent'); //Добавляем вторую таблицу где будет выбирать, и условия выбора $this->orderBy('id','DESC');//Делаем сортировку по id первой таблицы DESC $this->limit('10');//Ограничиваем вывод 10 строками результата $this->select('d.*');// Добавляем переменную нужную для SELECT return $this->get('abonent', 'id');//Возвращаем результат // SELECT u.id, u.fio, d.adres_tariff, d.name_tariff FROM cms_abonent u INNER JOIN cms_dogovora d ON u.id = d.id_dogovor }
И так продолжая работу столкнулся с простой задачей.
Надо из двух таблиц(основной) и дополнительной вывести информацию по последним 10 записям. Создаю модель.
ВАЖНО! может кому пригодиться, по умолчанию при JOIN INNER в ICMS2 присваивается переменная " i ". Так что ее использовать нельзя.
Стоит задача получить тип запроса:
По итогу логично получаем только:
Вопрос, как добавть еще выбор полей d.*
Или все приводить к произвольным запросах SQL?
Надо из двух таблиц(основной) и дополнительной вывести информацию по последним 10 записям. Создаю модель.
public function last10() { $this->joinInner('dogovora', 'd', 'i.id=d.id_abonent'); $this->orderBy('id','DESC'); $this->limit('10'); return $this->get('abonent', 'id'); }
Стоит задача получить тип запроса:
SELECT i.* FROM {#}abonent i INNER JOIN cms_dogovora as d ON i.id=d.id_abonent ORDER BY i.id DESC LIMIT 10
Или все приводить к произвольным запросах SQL?
kreator,
Все сайты должны запускать процессы под своими пользователями, а не под апачем все сразу (безопасность и проще вычислить кто и чего)
команды в консоли top, ps ax покажут в первом случае процессы запущенные и сколько жрет, во втором все процессы и под кем конкретно запущены.
Далее можно посмотреть netstat чтоб увидеть куда ломатся запросы и из каких подсетей.
Далее гуглить по всем командам. Если первый пункт выполнить, то усе сразу увидите.
Да часто тормоза могут быть из-за подгрузки контента(рекламы, джава и т.п.) с других сайтов в не асинхронном режиме.(часто дает нагрузку на php)
Все сайты должны запускать процессы под своими пользователями, а не под апачем все сразу (безопасность и проще вычислить кто и чего)
команды в консоли top, ps ax покажут в первом случае процессы запущенные и сколько жрет, во втором все процессы и под кем конкретно запущены.
Далее можно посмотреть netstat чтоб увидеть куда ломатся запросы и из каких подсетей.
Далее гуглить по всем командам. Если первый пункт выполнить, то усе сразу увидите.
Да часто тормоза могут быть из-за подгрузки контента(рекламы, джава и т.п.) с других сайтов в не асинхронном режиме.(часто дает нагрузку на php)
Возможно им поболее header записать.Остальные браузеры только загружали файл и продолжали висеть с крутилкой процесса, до тех пор пока не обновлю страницу.
например
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
Да еще одно существенное, rtf это галимый ASCII CP1251, т.е. все из UTF-8 надо конвертнуть.
рабочий кусок:
$filename = __DIR__.'/dogovor.rtf'; //echo $filename; // Заменить заполнители в шаблоне требуемыми данными $output = str_replace( '\{fio\}', $abonentf['fio'].' '.$abonentf['imya'].' '. $abonentf['otchestvo'], $output ); // Отправить сгенерированный документ в браузер $fh = fopen ("/upload/dogovora/".$dogovorf['id_dogovor'].".rtf", "w+");//указать путь до папки хранения(полный)
Чтоб зависаний не было надо отдачу заголовков сделать через "; "irkr, а вы при разработке каким браузером пользуетесь? У меня только мозилла нормально отдавала файл в поток и завершала отдачу корректно, хром и опера зависали
Вот так:
Inline заставит браузер открыть файл внутри себя(если такое поддерживается браузером), а аттачмент заставит скачать в любом случае.
если не в поток выводить, а создать файл и отдать его ссылкой на скачивание?
Да так реально можно и все ок. Пока придется делать так :((
Остается для меня загадка, всеж где вносится этот пробел чертов...
именно от extends cmsAction где-то прилетает.
Но из-за пробела в начале документа, редакторы типа ворда думают что файл с крякозябрами идет, а если пробела нет, то формируется правильно RTF. Удобно при создании договоров и заполнении всяких бланков.
именно от extends cmsAction где-то прилетает.
rtf это почти Word документ, который легко править и вставлять свои переменные без левых библиотек.
А rtf выбран для возможности скачать документ из браузера?
Но из-за пробела в начале документа, редакторы типа ворда думают что файл с крякозябрами идет, а если пробела нет, то формируется правильно RTF. Удобно при создании договоров и заполнении всяких бланков.
Loadырь, если просто вызывать, то выводит как надо без ошибок, если через экшн добавляется пробел.
Да, пробел не выводом инфы появляется, а такое ощущение, что самой icms.а так не пробовали?
Переменная чистая, пробовал и ltrim
Создал экшен по выводу договора на основе шаблона. Самый простой способ нашел использовать rtf.
die, чтоб всякая остальная инфа не лезла. Но почему-то вначале файла вставляется пробел. Понять не могу из-за чего. Кто-нибудь сталкивался?
<?php class actionAbonentPrintDogovor extends cmsAction{ public function run($id=false){ if(!$id){ cmsCore::error404();} $dogovorf=$this->model->getIdADogovor($id);//Получаем все данные по договору if(!$dogovorf){ cmsCore::error404();} // Сгенерировать заголовки, которые упростят браузеру // выбор требуемого приложения для визуализации // Открыть файл шаблона $filename = __DIR__.'/dogovor.rtf'; //шаблон лежит в папке экшенов, сам файл без первого пробела. // Заменить заполнители в шаблоне требуемыми данными // Отправить сгенерированный документ в браузер echo $output; } }
Igor, Вангую что сервак у вас на ngnix и php вызывается отдельно. То да такое возможно. Надо править конфиги серваков.