Example #1
0
 * @var $model \app\properties\AbstractModel
 * @var $multiple boolean
 * @var $property_id integer
 * @var $property_key string
 * @var $this \yii\web\View
 * @var $values \app\properties\PropertyValue
 */
use app\models\Property;
use app\modules\shop\models\Product;
use yii\helpers\ArrayHelper;
use kartik\helpers\Html;
$productIds = ArrayHelper::getColumn($values->values, 'value');
/** @var Product[] $products */
$products = [];
foreach ($productIds as $id) {
    $products[] = Product::findOne($id);
}
?>

<dl>
    <?php 
if (count($productIds) == 0) {
    return;
}
$property = Property::findById($property_id);
echo Html::tag('dt', $property->name);
foreach ($products as $product) {
    echo Html::tag('dd', Html::a($product->name, ['@product', 'model' => $product]));
}
?>
</dl>
 /**
  * @param $id
  * @return \yii\web\Response
  * @throws NotFoundHttpException
  * @throws \Exception
  */
 public function actionDelete($id)
 {
     /** @var Product $model */
     if (null === ($model = Product::findOne($id))) {
         throw new NotFoundHttpException();
     }
     if (Yii::$app->request->get('returnUrl') !== null) {
         $redirect = Yii::$app->request->get('returnUrl');
     } elseif ($model->parent_id == 0) {
         $redirect = Url::toRoute(['index']);
     } else {
         $redirect = Url::toRoute(['edit', 'id' => $model->parent_id]);
     }
     if (!$model->delete()) {
         Yii::$app->session->setFlash('info', Yii::t('app', 'The object is placed in the cart'));
     } else {
         Yii::$app->session->setFlash('info', Yii::t('app', 'Object has been removed'));
     }
     return $this->redirect($redirect);
 }
Example #3
0
<?php

/**
 * @var $attribute_name string
 * @var $form \yii\widgets\ActiveForm
 * @var $label string
 * @var $model \app\properties\AbstractModel
 * @var $multiple boolean
 * @var $property_id integer
 * @var $property_key string
 * @var $this \yii\web\View
 * @var $values \app\properties\PropertyValue
 */
use app\modules\shop\models\Product;
use yii\helpers\ArrayHelper;
$productIds = ArrayHelper::getColumn($values->values, 'value');
$data = [];
foreach ($values->values as $value) {
    $product = Product::findOne($value['value']);
    if (is_object($product)) {
        $data[$product->id] = $product->name;
    }
}
?>

<?php 
echo \app\backend\widgets\Select2Ajax::widget(['initialData' => $data, 'form' => $form, 'model' => $model, 'modelAttribute' => $property_key, 'multiple' => $multiple === 1, 'searchUrl' => '/shop/backend-product/ajax-related-product', 'additional' => ['placeholder' => Yii::t('app', 'Search')]]);