вторник, 7 января 2014 г.

[Из песочницы] Создаем поведение (behaviour) для Yii2 @habrahabr



Часто, а на самом деле практически всегда, при создании сайта необходимо, чтобы страницы сайта открывались не по id сущности в базе, а по текстовому идентификатору, назовем его slug.




post/view/1 => post/view/testovaya-novost





(из url'а стоило бы убрать и view, но урок не о том)



Самым примитивным путем можно создать в таблице post поле slug, в модели Post соответственно появляется новый атрибут, в представление (view) добавляем новый input, в который ручками вбиваем slug.





<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

/**
* @var yii\web\View $this
* @var common\models\Post $model
* @var yii\widgets\ActiveForm $form
*/
?>

<div class="post-form">

<?php $form = ActiveForm::begin(); ?>

<?= $form->field( $model, 'name' )->textInput( [ 'maxlength' => 255 ] ) ?>
<?= $form->field( $model, 'slug' )->textInput( [ 'maxlength' => 255 ] ) ?>
<?= $form->field( $model, 'content' )->textarea( [ 'rows' => 6 ] ) ?>

<div class="form-group">
<?= Html::submitButton( $model->isNewRecord ? Yii::t( 'app', 'Create' ) : Yii::t( 'app', 'Update' ), [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ] ) ?>
</div>

<?php ActiveForm::end(); ?>

</div>






Читать дальше →



via Хабрахабр / Захабренные / Тематические / Посты http://habrahabr.ru/post/208328/

Комментариев нет:

Отправить комментарий