Пример #1
0
 /**
  * @return string
  */
 public function run()
 {
     if ($this->inventory <= Settings::value('stock', 'outofstock')) {
         return '<span class="out-of-stock">' . \Yii::t('app', 'Out of stock') . '</span>';
     } elseif ($this->inventory <= Settings::value('stock', 'lowstock')) {
         return '<span class="low-stock">' . \Yii::t('app', 'Low stock') . '</span>';
     }
     return '<span class="in-stock">' . \Yii::t('app', 'In stock') . '</span>';
 }
Пример #2
0
 /**
  * @param string $name
  * @return $this|mixed
  * @throws \yii\base\UnknownPropertyException
  */
 public function __get($name)
 {
     if (isset($this->_attributes[$name])) {
         return $this->_attributes[$name];
     }
     $_name = explode('.', $name);
     if (count($_name) == 2) {
         return Settings::value($_name[0], $_name[1]);
     }
     return parent::__get($name);
 }
Пример #3
0
 /**
  * @return string|\yii\web\Response
  */
 public function actionContact()
 {
     $page = Shop::page(Pages::CONTACT);
     $model = new ContactForm();
     if (!Yii::$app->user->isGuest) {
         /** @var User $identity */
         $identity = Yii::$app->user->identity;
         $model->name = $identity->name;
         $model->email = $identity->email;
     }
     if ($model->load(Yii::$app->request->post()) && $model->contact(Settings::value('general', 'shopEmail'))) {
         Yii::$app->session->setFlash('contactFormSubmitted');
         return $this->refresh();
     }
     return $this->render('contact', ['model' => $model, 'page' => $page]);
 }
Пример #4
0
 /**
  * @return bool
  */
 public function generatePasswordResetToken()
 {
     if (!$this->validate()) {
         return false;
     }
     $new_password = \Yii::$app->security->generateRandomString(8);
     /** @var User $user */
     $user = User::findOne(['email' => $this->email]);
     $user->password_reset_token = User::generatePasswordResetToken();
     $user->password_hash = User::hashPassword($new_password);
     $user->status = User::USER_STATUS_INACTIVE;
     $user->save();
     $isSend = \Yii::$app->mailer->compose('user/forgot_password', ['user_name' => $user->name, 'token' => $user->password_reset_token, 'new_password' => $new_password])->setFrom(Settings::value('general', 'shopEmail'))->setTo($this->email)->setSubject(\Yii::t('mail', 'New password activation'))->send();
     if (!$isSend) {
         $this->addError(\Yii::t('mail', 'Oops, can\'t deliver letter to such email address.'));
     }
     return $isSend;
 }
Пример #5
0
 /**
  * @param $order
  * @param $email
  */
 protected function sendOrderEmail($order, $email)
 {
     \Yii::$app->mailer->compose('order/confirmation', ['order' => $order])->setTo($email)->setFrom(Settings::value('general', 'shopEmail'))->setSubject(\Yii::t('mail', 'Order confirmation'))->send();
 }
Пример #6
0
 */
$this->title = Html::encode($page->model->name);
$this->params['breadcrumbs'][] = $this->title;
?>

<div class="shop-page">
    <div class="row">
        <div class="col-md-12">
            <?php 
echo Breadcrumbs::widget(['links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : []]);
?>
        </div>
    </div>
    <h1><?php 
echo $this->title;
?>
</h1>

    <div class="row">
        <div class="col-md-6">
            <?php 
echo str_replace('%SHOP_EMAIL%', Settings::value('general', 'shopEmail'), $page->model->announce);
?>
        </div>
        <div class="col-md-6">
            <?php 
echo $page->model->content;
?>
        </div>
    </div>
</div>
Пример #7
0
</span>
                <?php 
}
?>
                <strong><?php 
echo CurrencyHelper::format($product->model->price);
?>
</strong>
            </div>
            <?php 
Pjax::begin(['id' => 'product_avg_rating', 'options' => ['class' => 'avg-rating']]);
echo Rating::widget(['name' => 'Product[rating]', 'value' => $product->model->rating, 'readonly' => true]);
Pjax::end();
?>
            <?php 
if ($product->model->inventory > Settings::value('stock', 'outofstock')) {
    ?>
            <div class="bordered">
                <?php 
    $form = ActiveForm::begin(['action' => ['/checkout/cart/add'], 'options' => ['class' => 'form-add-to-cart form-inline']]);
    ?>
                    <?php 
    echo $form->field($formModel, 'quantity');
    ?>
                    <?php 
    echo $form->field($formModel, 'productId')->hiddenInput()->label(false);
    ?>
                    <?php 
    echo Html::submitButton(Yii::t('app', 'Add to cart'), ['class' => 'btn btn-primary']);
    ?>
                <?php