Pull to refresh
-1
0
zelenin @zelenin

Разработчик

Send message

Создаем поведение (behavior) для Yii2

Reading time7 min
Views80K
Часто, а на самом деле практически всегда, при создании сайта необходимо, чтобы страницы сайта открывались не по 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>


Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments28

Dropbox (+23 GB) (с ложкой дегтя)

Reading time1 min
Views47K
Добрый день.
Топик посвящен тренду сезона, а конкретно: как получить бесплатно место на Dropbox.
К сожалению, здесь не будет интересных квестов как в предыдущих топиках, но результат будет несколько поинтереснее (хоть и с ложкой дегтя).
Читать дальше →
Total votes 75: ↑52 and ↓23+29
Comments138

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity