Тег: пример

Access Control Yii2 + анонимная функция

В Yii2 появилась возможность повесить свою бизнес логику в виде анонимной функции для контроля доступа к странице. Теперь вы можете делать какие-то действия и возвращать либо true либо false для доступа к странице. Сделать это можно следующим образом: public function…
Читать далее

Шаблоны ActiveForm в Yii2

Шаблон формы ActiveForm в Yii2 с возможностью задания шаблона вывода полей, списков из базы данных, списков из готового массива значений. <?php $form = \yii\widgets\ActiveForm::begin([ ‘fieldConfig’ => [ ‘template’ => «<div> {label} </div> <div>{input} {error}</div>\n», ‘labelOptions’=>[‘class’ => ‘control-label’], ], ]); ?>…
Читать далее

Создание ZIP архива с паролем в PHP

Следующая функция может запаковать в ZIP архив файл и установить пароль. Для создания ZIP архива используется встроенный архиватор ZIP Linux системы. Также у PHP скрипта должно быть разрешение на работу функции shell_exec. function createZip($fileName,$fileText,$zipFileName,$zipPassword) { $file = file_put_contents($fileName,$fileText); shell_exec(‘zip -P…
Читать далее

CSRF защита входных данных и ее отключение в Yii2

По умолчанию в Yii2 используется защита от межсайтовой подделки запроса. То есть вы не сможете отправить POST запрос без согласия самого Yii2 (т.е токена который создается при отправке формы). Но бывают случаи когда POST запросы необходимо принимать (как пример входящие…
Читать далее

Динамическое изменение классов таблицы CGridView

Для изменения класса строк таблицы в CGridview yii1 можно воспользоваться следующим шаблоном: ‘rowCssClassExpression’ => function($row, $data) { // $row — номер строки // $data — модель данных if($data->amount > 0){ return ‘success’; } return ‘none’; }, Данный обработчик возвращает название…
Читать далее

Динамическая загрузка value в select по Ajax

Удобный шаблон для подгрузки необходимых данных в input type select: <script> function loadSubCats(select) { var catSelect = jQuery(‘#subcategory_id’); jQuery.getJSON(‘ajax.php’, { id:select.value}, function(subcatList){ catSelect.html(»); // очищаем список jQuery.each(subcatList, function(i){ catSelect.append(‘<option value=»‘ + this + ‘»>’ + this + ‘</option>’); }); });…
Читать далее

YiiMailer шаблон отсылки сообщений

Самое удобное расширение для yii по отправке сообщений. Сам YiiMailer можете поставить через Composer. Пример: $mail = new YiiMailer(); $mail->setFrom(Yii::app()->params[‘supportEmail’], ‘Компания’); $mail->setTo($model->email); $mail->setSubject(‘Наша тема’); $mail->setAttachment($PDFFile); $mail->setBody($message); $mail->send();