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

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


    Читать дальше →
  • Dropbox (+23 GB) (с ложкой дегтя)

      Добрый день.
      Топик посвящен тренду сезона, а конкретно: как получить бесплатно место на Dropbox.
      К сожалению, здесь не будет интересных квестов как в предыдущих топиках, но результат будет несколько поинтереснее (хоть и с ложкой дегтя).
      Читать дальше →