Сообщения

Сообщения за сентябрь, 2015

Yii 2 загрузка изображений

везде пишем вверху use yii\web\UploadedFile; model public function rules() { return [ ....  //[['img'], 'file', 'skipOnEmpty' => false], [['img'], 'file'], ]; } controler public function actionCreate() { $model = new Unit(); if ($model->load(Yii::$app->request->post())) { $file = UploadedFile::getInstance($model, 'img'); if (isset($file)) { $filename = uniqid() . '.' . $file->extension; $path = 'uploads/' . $filename; if ($file->saveAs($path)) { $model->img = $filename; } } if ($model->save()) { return $this->redirect('index'); } } return $this->render('create&#

Yii 2 статичные страницы

Изображение
Нужно всегда указывать в контролере

Удобная разработка Windows Service с TopShelf

Изображение
TopShelf - это инструмент для тестирования сервиса как консольного приложения. Чаще всего от сервиса данные можно получить только через лог, а TopShelfпозволяет выводить данные в консоль, даже не устанавливая сервис Более подробная документация на официальном сайте. http://topshelf.readthedocs.org/en/latest/configuration/quickstart.html 1. Создаем консольное приложение TopShelfTest 2. Проект - управление пакетами NuGet 3. Ищем в поиске и устанавливаем 4. Установим Nlog (напрямую к TopShelf он не относится, просто удобен) Nlog.config поменем на <? xml version = "1.0" encoding = "utf-8" ?> < nlog xmlns = "http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload = "true" throwExceptions = "false" internalLogLevel = &qu

Trainer Mad Max

trainer

Редактируемое дерево элементов на JS

Изображение
Для примера взял SqLite BEGIN TRANSACTION; CREATE TABLE "page" ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, `title` TEXT NOT NULL UNIQUE, `link` TEXT, `parent_id` INTEGER NOT NULL, `f_order` INTEGER NOT NULL, FOREIGN KEY(`parent_id`) REFERENCES id ); INSERT INTO `page` VALUES (1,'root',NULL,0,1); INSERT INTO `page` VALUES (2,'1 node','http://des1roer.blogspot.ru/',1,1); INSERT INTO `page` VALUES (3,'2 child','http://des1roer.blogspot.com/2015/09/js.html',2,1); COMMIT; Имеем: 1.config.php <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Меню</title> <link rel= "stylesheet" type= "text/css" href= "src/themes/default/easyui.css" > <link rel= "stylesheet" type= "text/css" href= "src/themes/icon.css" > <link rel= "stylesheet&qu

Yii 2 быстрая установка

Изображение
1. Качаем OpenServer и устанавливаем 2. Запускаем от имени администратора 3. Открываем командную строку 4. В консоли cd F:\OpenServer\domains 5. Если необходимо укажите прокси set http_proxy=http://proxy.ххх.ru:хххх/ 6. Устанавливаем версию композера  composer global require "fxp/composer-asset-plugin:~1.1.1" composer self-update   7. Устанавливаем Yii 2 Basic (в настройках не забываем установить версию PHP не ниже 5.4) composer create-project --prefer-dist yiisoft/yii2-app-basic yii2basic 8.    Возможно в FF придется добавить И заключительный шаг

Yii сохранение множества чекбоксов

Изображение
1.Таблица вида CREATE TABLE site.a_smena ( id SERIAL, f_timestamp DATE DEFAULT now() NOT NULL, smena INTEGER NOT NULL, value INTEGER, mine_id INTEGER NOT NULL, lvl_id INTEGER, CONSTRAINT a_smena_idx UNIQUE(f_timestamp, smena, lvl_id), CONSTRAINT a_smena_pkey PRIMARY KEY(id), CONSTRAINT a_lvl_fk FOREIGN KEY (lvl_id) REFERENCES site.t_department(id) ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE, CONSTRAINT a_mine_fk FOREIGN KEY (mine_id) REFERENCES site.t_department(id) ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE ) WITH (oids = false); COMMENT ON COLUMN site.a_smena.id IS 'id'; COMMENT ON COLUMN site.a_smena.f_timestamp IS 'дата'; COMMENT ON COLUMN site.a_smena.smena IS 'смена'; COMMENT ON COLUMN site.a_smena.value IS 'значение'; COMMENT ON COLUMN site.a_smena.mine_id IS 'шахта'; COMMENT ON COLUMN site.a_smena.lvl_id IS 'горизонт'; 2.view <?php $form

Yii + PHPExcel

Изображение
1. Качаем phpexcel 2. Распаковываем в корень папку Classes (в данном случае это localhost)   3. Создаем тестовый файл export.php 4. Скопируем туда код из примера 01simple-download-xls 5.Поправьте /** Include PHPExcel */ require_once dirname(__FILE__) . '/PHPExcel.php'; 6.Получим Так мы проверили PHPExcel 7. Теперь Yii создаем в \webroot\site\protected\views\site\pages\excel.php <? php $path = $_SERVER['HTTP_HOST'] . '/phpexcel/export.php'; if (isset($array))     $array = '?val='.json_encode($array); echo "<iframe id='ifr' src=http://$path/$array align='left' seamless></iframe>"; 8.view создаем ссылку $myar = ['id' => 53, 'title' => 2, 'name' => ['lol', 'op']]; echo CHtml::ajaxLink(         $text = 'Click me', array('req'), $ajaxOptions = array(     'type' => 'POST',     'update' => &