/** * @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>'; }
/** * @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); }
/** * @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]); }
/** * @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; }
/** * @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(); }
*/ $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>
</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