Commit 0f8aaa74a51d38906edab311b77a624d9fc7b172

Authored by Yarik
1 parent e6001016

Image alt + title

frontend/views/catalog/product.php
... ... @@ -7,21 +7,25 @@
7 7 // use common\modules\comment\widgets\CommentWidget;
8 8 use common\modules\comment\widgets\CommentWidget;
9 9 use common\modules\product\models\Category;
10   -use yii\helpers\Html;
11   -use yii\web\View;
  10 + use yii\helpers\Html;
  11 + use yii\web\View;
12 12 use yii\helpers\Url;
13 13 use frontend\widgets\Seo;
14   -use frontend\assets\FlipclockAsset;
15   -FlipclockAsset::register($this);
  14 + use frontend\assets\FlipclockAsset;
  15 +
  16 + FlipclockAsset::register($this);
  17 + $fullname = $product->fullname;
16 18 $this->params[ 'seo' ][ 'key' ] = $category->categoryName->value;
17   - $this->params[ 'seo' ][ 'fields' ][ 'name' ] = $product->fullname;
18   - $this->params[ 'seo' ][ 'h1' ] = !empty( Seo::widget([ 'row' => 'h1' ]) ) ? Seo::widget([ 'row' => 'h1' ]) : $product->fullname;
  19 + $this->params[ 'seo' ][ 'fields' ][ 'name' ] = $fullname;
  20 + $this->params[ 'seo' ][ 'h1' ] = !empty( Seo::widget([ 'row' => 'h1' ]) ) ? Seo::widget(
  21 + [ 'row' => 'h1' ]
  22 + ) : $fullname;
19 23  
20   - //$this->params['seo']['title'] = "Купить " . substr($product->category->categoryName->value, 0, -2) . " " . $product->fullname . " в Киеве, Харькове, Украине: цены, отзывы - Rukzachok.com.ua";
21   - //$this->params['seo']['description'] = "Заказать " . substr($product->category->categoryName->value, 0, -2) . " " . $product->fullname . " - самые модные и стильные рюкзаки в Украине по лучшим ценам. Интернет магазин рюкзаков Rukzachok.com.ua";
22   - $this->title = $product->fullname;
23   - //$this->title = (! empty($product->meta_title)) ? $product->meta_title : $product->fullname;
24   - //$this->registerMetaTag (['name' => 'description', 'content' => ((! empty($product->meta_description)) ? $product->meta_description : $product->fullname)]);
  24 + //$this->params['seo']['title'] = "Купить " . substr($product->category->categoryName->value, 0, -2) . " " . $fullname . " в Киеве, Харькове, Украине: цены, отзывы - Rukzachok.com.ua";
  25 + //$this->params['seo']['description'] = "Заказать " . substr($product->category->categoryName->value, 0, -2) . " " . $fullname . " - самые модные и стильные рюкзаки в Украине по лучшим ценам. Интернет магазин рюкзаков Rukzachok.com.ua";
  26 + $this->title = $fullname;
  27 + //$this->title = (! empty($product->meta_title)) ? $product->meta_title : $fullname;
  28 + //$this->registerMetaTag (['name' => 'description', 'content' => ((! empty($product->meta_description)) ? $product->meta_description : $fullname)]);
25 29 //$this->registerMetaTag (['name' => 'keywords', 'content' => $product->meta_keywords]);
26 30  
27 31 //foreach($product->category->getParents()->all() as $parent) {
... ... @@ -39,18 +43,19 @@ FlipclockAsset::register($this);
39 43 ],
40 44 ];
41 45 $this->params[ 'breadcrumbs' ][] = [
42   - 'label' => $category->name.' '.$product->brand->name,
  46 + 'label' => $category->name . ' ' . $product->brand->name,
43 47 'url' => [
44 48 'catalog/category',
45 49 'category' => $category,
46   - 'filters' => [
47   - 'brands' => [$product->brand->alias]
48   - ]
  50 + 'filters' => [
  51 + 'brands' => [ $product->brand->alias ],
  52 + ],
49 53 ],
50 54 ];
51   - $this->params[ 'breadcrumbs' ][] = $product->fullname . ' #' . $product->variant->sku;
  55 + $this->params[ 'breadcrumbs' ][] = $fullname . ' #' . $product->variant->sku;
52 56  
53   - $this->registerJs('
  57 + $this->registerJs(
  58 + '
54 59  
55 60 var checkData = function($index)
56 61 {
... ... @@ -94,9 +99,13 @@ FlipclockAsset::register($this);
94 99  
95 100 checkData(0);
96 101  
97   - ', View::POS_READY, 'fasovka');
  102 + ',
  103 + View::POS_READY,
  104 + 'fasovka'
  105 + );
98 106  
99   - $this->registerJs("
  107 + $this->registerJs(
  108 + "
100 109 $('#nav_product li > a').addClass('active');
101 110 $('#nav_product li').find('.info').toggle();
102 111  
... ... @@ -108,43 +117,60 @@ FlipclockAsset::register($this);
108 117  
109 118 return false;
110 119 });
111   - ", View::POS_READY, 'nav_product');
  120 + ",
  121 + View::POS_READY,
  122 + 'nav_product'
  123 + );
112 124  
113 125 $this->registerCssFile(Yii::$app->request->BaseUrl . '/js/shadowbox-3.0.3/shadowbox.css');
114   - $this->registerJsFile(Yii::$app->request->baseUrl . '/js/shadowbox-3.0.3/shadowbox.js', [
115   - 'position' => View::POS_END,
116   - 'depends' => [ 'yii\web\JqueryAsset' ],
117   - ]);
118   - $this->registerJs("
  126 + $this->registerJsFile(
  127 + Yii::$app->request->baseUrl . '/js/shadowbox-3.0.3/shadowbox.js',
  128 + [
  129 + 'position' => View::POS_END,
  130 + 'depends' => [ 'yii\web\JqueryAsset' ],
  131 + ]
  132 + );
  133 + $this->registerJs(
  134 + "
119 135 Shadowbox.init({
120 136  
121 137 });
122   - ", View::POS_READY, 'Shadowbox');
  138 + ",
  139 + View::POS_READY,
  140 + 'Shadowbox'
  141 + );
123 142 ?>
124 143  
125   -<?php if($flash = Yii::$app->session->getFlash('success')): ?>
  144 +<?php if ($flash = Yii::$app->session->getFlash('success')): ?>
126 145 <div class="alert-success"><?= $flash ?></div>
127 146 <?php endif; ?>
128 147 <div class="loyout">
129 148 <div itemscope itemtype="http://schema.org/Product">
130 149 <div class="productLeftBar">
131 150 <div itemprop="name"><h1><?= Seo::widget([ 'row' => 'h1' ]) ?></h1></div>
132   - <?php foreach($product->enabledVariantsGrouped as $variantGroup) : ?>
  151 + <?php foreach ($product->enabledVariantsGrouped as $variantGroup) : ?>
133 152 <div class="begin"><?= $variantGroup->name2 ?></div>
134 153 <ul class="product_mod">
135   - <?php foreach($variantGroup->_variants as $variant): ?>
  154 + <?php foreach ($variantGroup->_variants as $variant): ?>
136 155 <li>
137 156 <a id='m<?= $variant->product_variant_id ?>' href="#<?= $variant->product_variant_id ?>"
138 157 data-cost="<?= $variant->price ?>"
139 158 data-old_cost="<?= $variant->price_old ?>" data-id="<?= $variant->product_variant_id ?>" data-art="<?= $variant->sku ?>"
140 159 data-color="<?= $variant->name ?>"
141   - data-image="<?= \common\components\artboximage\ArtboxImageHelper::getImageSrc($variant->imageUrl, 'product_view') ?>"
  160 + data-image="<?= \common\components\artboximage\ArtboxImageHelper::getImageSrc(
  161 + $variant->imageUrl,
  162 + 'product_view'
  163 + ) ?>"
142 164 data-imageoriginal="<?= $variant->imageUrl ?>"
143   - title="<?= $product->fullname ?>">
144   - <?= \common\components\artboximage\ArtboxImageHelper::getImage($variant->imageUrl, 'product_variant', [
145   - 'alt' => $category->categoryName->value . ' ' . $product->fullname,
146   - 'title' => $category->categoryName->value . ' ' . $product->fullname,
147   - ]) ?>
  165 + title="<?= $fullname ?>">
  166 + <?= \common\components\artboximage\ArtboxImageHelper::getImage(
  167 + $variant->imageUrl,
  168 + 'product_variant',
  169 + [
  170 + 'alt' => $fullname,
  171 + 'title' => $fullname,
  172 + ]
  173 + ) ?>
148 174 </a>
149 175 </li>
150 176 <?php endforeach; ?>
... ... @@ -158,12 +184,12 @@ FlipclockAsset::register($this);
158 184 <span id='color'></span></div>
159 185 <div class="product_read_price">
160 186 <div class="w">
161   - <strike><span><span id='old_cost'><?= $product->variant->price_old >0 ? $product->variant->price_old : 0?></span></span> грн.</strike>
  187 + <strike><span><span id='old_cost'><?= $product->variant->price_old > 0 ? $product->variant->price_old : 0 ?></span></span> грн.</strike>
162 188 <span class="cost"><span itemprop="price"><span id='cost'><?= $product->variant->price ?></span></span> <span class="valute">грн.</span></span>
163 189 <meta itemprop="priceCurrency" content="UAH">
164 190 </div>
165 191 <input type='hidden' id='product_id'/>
166   - <a href="#" rel='<?= $product->variant->price > 0 ? "product" : ""?>' class="<?= $product->variant->price > 0 ? "link_buy" : "link_buy_out_stock"?>"><?= $product->variant->price > 0 ? "Купить" : "Нет в наличии"?></a>
  192 + <a href="#" rel='<?= $product->variant->price > 0 ? "product" : "" ?>' class="<?= $product->variant->price > 0 ? "link_buy" : "link_buy_out_stock" ?>"><?= $product->variant->price > 0 ? "Купить" : "Нет в наличии" ?></a>
167 193 <div class="both"></div>
168 194 </div>
169 195 </div>
... ... @@ -174,33 +200,41 @@ FlipclockAsset::register($this);
174 200 </div>
175 201 <div class="product_service">
176 202 <ul>
177   - <?php if(Yii::$app->user->id) : ?>
178   - <li class="item1"><a href="<?= Url::to([
179   - 'iam/share',
180   - 'id' => $product->product_id,
181   - ]) ?>">Добавить в закладки</a></li>
  203 + <?php if (Yii::$app->user->id) : ?>
  204 + <li class="item1"><a href="<?= Url::to(
  205 + [
  206 + 'iam/share',
  207 + 'id' => $product->product_id,
  208 + ]
  209 + ) ?>">Добавить в закладки</a></li>
182 210 <?php endif ?>
183   - <?php if(false && Yii::$app->user->id) : ?>
184   - <li class="item2"><a href="<?= Url::to([
185   - 'iam/price',
186   - 'id' => $product->product_id,
187   - ]) ?>">Узнать о снижение цены</a></li>
  211 + <?php if (false && Yii::$app->user->id) : ?>
  212 + <li class="item2"><a href="<?= Url::to(
  213 + [
  214 + 'iam/price',
  215 + 'id' => $product->product_id,
  216 + ]
  217 + ) ?>">Узнать о снижение цены</a></li>
188 218 <?php endif ?>
189   - <?php if(false) : ?>
190   - <li class="item3"><a href="<?= Url::to([
191   - 'products/compare',
192   - 'id' => $product->product_id,
193   - ]) ?>">Добавить в сравнение</a></li>
  219 + <?php if (false) : ?>
  220 + <li class="item3"><a href="<?= Url::to(
  221 + [
  222 + 'products/compare',
  223 + 'id' => $product->product_id,
  224 + ]
  225 + ) ?>">Добавить в сравнение</a></li>
194 226 <?php endif ?>
195 227 </ul>
196 228 </div>
197 229 <div class="artbox_comment_description">
198 230 <?php
199   - if(!empty( $product->averageRating ) && $product->averageRating->value) {
  231 + if (!empty( $product->averageRating ) && $product->averageRating->value) {
200 232 ?>
201 233 <div itemprop="aggregateRating" class="product_rating_block" itemscope itemtype="http://schema.org/AggregateRating">
202 234 <span itemprop="ratingValue" style="display: none"><?php echo $product->averageRating->value; ?></span>
203   - <span itemprop="ratingCount" style="display: none"><?php echo count($product->comments); ?></span>
  235 + <span itemprop="ratingCount" style="display: none"><?php echo count(
  236 + $product->comments
  237 + ); ?></span>
204 238 <div class="rateit" data-rateit-value="<?php echo $product->averageRating->value; ?>" data-rateit-readonly="true" data-rateit-ispreset="true"></div>
205 239 </div>
206 240 <?php
... ... @@ -209,7 +243,7 @@ FlipclockAsset::register($this);
209 243 <p class="product_review_block"><a href="#artbox-comment" itemprop="interactionCount">
210 244 <?php
211 245 $comment_count = count($product->comments);
212   - if($comment_count) {
  246 + if ($comment_count) {
213 247 echo "Отзывов: " . $comment_count;
214 248 } else {
215 249 echo "Оставить отзыв";
... ... @@ -248,82 +282,101 @@ FlipclockAsset::register($this);
248 282 </div>
249 283  
250 284 <div class="productRightBar">
251   - <?php foreach($product->events as $event):?>
252   - <?php if(!empty($event->end_at) && $event->isActive()):?>
  285 + <?php foreach ($product->events as $event): ?>
  286 + <?php if (!empty( $event->end_at ) && $event->isActive()): ?>
253 287 <div class="event_block">
254   -
255   - <div class="event_title"> <?= Html::a('Акция!!! '.$event->name,Url::to(['event/show','alias'=>$event->alias,'id'=>$event->primaryKey]))?></div>
  288 +
  289 + <div class="event_title"> <?= Html::a(
  290 + 'Акция!!! ' . $event->name,
  291 + Url::to(
  292 + [
  293 + 'event/show',
  294 + 'alias' => $event->alias,
  295 + 'id' => $event->primaryKey,
  296 + ]
  297 + )
  298 + ) ?></div>
256 299 <div class="event_time">До конца осталось:</div>
257 300 <div class="clock_<?= $event->primaryKey ?> clock_product_first "></div>
258 301 <script type="text/javascript">
259 302 var clock;
260   -
261   - $(document).ready(function() {
262   - var clock;
263   -
264   - clock = $('.clock_<?= $event->primaryKey ?>').FlipClock({
265   - clockFace: 'DailyCounter',
266   - language: 'ru',
267   - classes: {
268   - active: 'flip-clock-active',
269   - before: 'flip-clock-before',
270   - divider: 'flip-clock-divider',
271   - dot: 'flip-clock-dot',
272   - label: 'flip-clock-label',
273   - flip: 'flip',
274   - play: 'play',
275   - wrapper: 'flip-clock-wrapper'
276   - },
277   - });
278   -
279   - clock.setTime(<?= strtotime($event->end_at) - strtotime(date("Y-m-d H:i:s"))?>);
280   - clock.setCountdown(true);
281   - clock.start();
282   -
283   - });
  303 +
  304 + $(document)
  305 + .ready(
  306 + function() {
  307 + var clock;
  308 +
  309 + clock = $('.clock_<?= $event->primaryKey ?>')
  310 + .FlipClock(
  311 + {
  312 + clockFace: 'DailyCounter',
  313 + language: 'ru',
  314 + classes: {
  315 + active: 'flip-clock-active',
  316 + before: 'flip-clock-before',
  317 + divider: 'flip-clock-divider',
  318 + dot: 'flip-clock-dot',
  319 + label: 'flip-clock-label',
  320 + flip: 'flip',
  321 + play: 'play',
  322 + wrapper: 'flip-clock-wrapper'
  323 + },
  324 + }
  325 + );
  326 +
  327 + clock.setTime(<?= strtotime($event->end_at) - strtotime(
  328 + date("Y-m-d H:i:s")
  329 + )?>);
  330 + clock.setCountdown(true);
  331 + clock.start();
  332 +
  333 + }
  334 + );
284 335 </script>
285   -
  336 +
286 337 </div>
287 338 <?php endif; ?>
288 339 <?php endforeach; ?>
289   -
  340 +
290 341 <ul id="nav_product">
291 342 <li><a href="#">Характеристики</a>
292 343 <div class="info">
293   - <p>Бренд: <?= Html::a($product->brand->name, [
294   - 'catalog/category',
295   - 'category' => $category,
296   - 'filters' => [
297   - 'brands' => [$product->brand->alias]
298   - ]
299   - ])
300   - ?></p>
301   - <?php foreach($product->getActiveProperties($category->category_id) as $group): ?>
  344 + <p>Бренд: <?= Html::a(
  345 + $product->brand->name,
  346 + [
  347 + 'catalog/category',
  348 + 'category' => $category,
  349 + 'filters' => [
  350 + 'brands' => [ $product->brand->alias ],
  351 + ],
  352 + ]
  353 + ) ?></p>
  354 + <?php foreach ($product->getActiveProperties($category->category_id) as $group): ?>
302 355 <p>
303 356 <?php
304   - echo $group->name .' ';
  357 + echo $group->name . ' ';
305 358 $i = 1;
306   - foreach($group->_options as $option) {
307   - if ($group->is_filter) {
308   - echo Html::a(
309   - $option->ValueRenderHTML,
310   - [
311   - 'catalog/category',
312   - 'category' => $category,
313   - 'filters' => [
314   - $group->alias => [ $option->alias ],
315   - ],
316   - ]
317   - );
318   - } else {
319   - echo $option->ValueRenderHTML;
320   - }
321   - if (count($group->_options) != $i) {
322   - echo ', ';
323   - }
324   - $i++;
  359 + foreach ($group->_options as $option) {
  360 + if ($group->is_filter) {
  361 + echo Html::a(
  362 + $option->ValueRenderHTML,
  363 + [
  364 + 'catalog/category',
  365 + 'category' => $category,
  366 + 'filters' => [
  367 + $group->alias => [ $option->alias ],
  368 + ],
  369 + ]
  370 + );
  371 + } else {
  372 + echo $option->ValueRenderHTML;
  373 + }
  374 + if (count($group->_options) != $i) {
  375 + echo ', ';
  376 + }
  377 + $i++;
325 378 }
326   - unset($i);
  379 + unset( $i );
327 380 ?>
328 381 </p>
329 382 <?php endforeach; ?>
... ... @@ -336,16 +389,26 @@ FlipclockAsset::register($this);
336 389 </div>
337 390 </div>
338 391 </li>
339   - <?php if(!empty( $product->video ) && strpos($product->video, '.jpg') === false && strpos($product->video, '.png') === false) : ?>
  392 + <?php if (!empty( $product->video ) && strpos($product->video, '.jpg') === false && strpos(
  393 + $product->video,
  394 + '.png'
  395 + ) === false
  396 + ) : ?>
340 397 <li><a href="#">Видео</a>
341 398 <div class="info product-thumb-video">
342   - <?php if(strpos($product->video, '<iframe') !== false || strpos($product->video, '<object') !== false) : ?>
  399 + <?php if (strpos($product->video, '<iframe') !== false || strpos(
  400 + $product->video,
  401 + '<object'
  402 + ) !== false
  403 + ) : ?>
343 404 <?= $product->video ?>
344 405 <?php else : ?>
345   - <?= \cics\widgets\VideoEmbed::widget([
346   - 'responsive' => false,
347   - 'url' => $product->video,
348   - ]) ?>
  406 + <?= \cics\widgets\VideoEmbed::widget(
  407 + [
  408 + 'responsive' => false,
  409 + 'url' => $product->video,
  410 + ]
  411 + ) ?>
349 412 <?php endif ?>
350 413 </div>
351 414 </li>
... ... @@ -355,38 +418,60 @@ FlipclockAsset::register($this);
355 418 <div class="content">
356 419 <div class="pic">
357 420 <center>
358   - <a href="#" rel="shadowbox[gal]" id="picoriginal"><?= \common\components\artboximage\ArtboxImageHelper::getImage($product->variant->imageUrl, 'product_view', [
359   - 'id' => 'pic',
360   - 'alt' => $category->categoryName->value . ' ' . $product->fullname,
361   - 'title' => $category->categoryName->value . ' ' . $product->fullname,
362   - ]) ?></a>
  421 + <a href="#" rel="shadowbox[gal]" id="picoriginal"><?= \common\components\artboximage\ArtboxImageHelper::getImage(
  422 + $product->variant->imageUrl,
  423 + 'product_view',
  424 + [
  425 + 'id' => 'pic',
  426 + 'alt' => $fullname,
  427 + 'title' => $fullname,
  428 + ]
  429 + ) ?></a>
363 430 </center>
364 431 </div>
365 432 <ul class="product_colors">
366   - <?php foreach($product->images as $image): ?>
  433 + <?php foreach ($product->images as $image): ?>
367 434 <li><a href="<?= $image->imageUrl ?>" rel="shadowbox[gal]">
368   - <?= \common\components\artboximage\ArtboxImageHelper::getImage($image->imageUrl, 'product_trumb2', [
369   - 'alt' => $category->categoryName->value . ' ' . $product->fullname,
370   - 'title' => $category->categoryName->value . ' ' . $product->fullname,
371   - ]) ?>
  435 + <?= \common\components\artboximage\ArtboxImageHelper::getImage(
  436 + $image->imageUrl,
  437 + 'product_trumb2',
  438 + [
  439 + 'alt' => $fullname,
  440 + 'title' => $fullname,
  441 + ]
  442 + ) ?>
372 443 </a></li>
373 444 <?php endforeach; ?>
374 445 </ul>
375 446 </div>
376 447 <div class="events">
377   - <?php foreach($product->events as $event):?>
378   - <?php if(!empty($event->banner) && $event->isActive()):?>
379   - <?= Html::a(\common\components\artboximage\ArtboxImageHelper::getImage($event->bannerUrl, 'event_in_product'),Url::to(['event/show','alias'=>$event->alias,'id'=>$event->primaryKey]))?>
  448 + <?php foreach ($product->events as $event): ?>
  449 + <?php if (!empty( $event->banner ) && $event->isActive()): ?>
  450 + <?= Html::a(
  451 + \common\components\artboximage\ArtboxImageHelper::getImage(
  452 + $event->bannerUrl,
  453 + 'event_in_product'
  454 + ),
  455 + Url::to(
  456 + [
  457 + 'event/show',
  458 + 'alias' => $event->alias,
  459 + 'id' => $event->primaryKey,
  460 + ]
  461 + )
  462 + ) ?>
380 463 <?php endif; ?>
381 464 <?php endforeach; ?>
382 465 </div>
383   -
  466 +
384 467 <div class="both"></div>
385 468 <div class="comment-wrapper" style="padding-bottom:25px">
386 469 <?php
387   - echo CommentWidget::widget([
388   - 'model' => $product,
389   - ]);
  470 + echo CommentWidget::widget(
  471 + [
  472 + 'model' => $product,
  473 + ]
  474 + );
390 475 ?>
391 476 <div class="both"></div>
392 477 </div>
... ... @@ -399,7 +484,8 @@ FlipclockAsset::register($this);
399 484 <?= \common\modules\product\widgets\lastProducts::widget() ?>
400 485 </div>
401 486 <?php
402   - $this->registerJs("
  487 + $this->registerJs(
  488 + "
403 489 var productHash = window.location.hash;
404 490 productHash = productHash.replace('#','')
405 491  
... ... @@ -412,5 +498,8 @@ FlipclockAsset::register($this);
412 498  
413 499 $('#pic').attr('src',dataImg)
414 500 $('#pic').parent().attr('href',dataLink)
415   - ", View::POS_READY, 'new_script');
  501 + ",
  502 + View::POS_READY,
  503 + 'new_script'
  504 + );
416 505 ?>
417 506 \ No newline at end of file
... ...
frontend/views/catalog/product_item.php
... ... @@ -6,6 +6,7 @@
6 6  
7 7 Yii::$app->getModule('artbox-comment');
8 8 CommentAsset::register($this);
  9 + $fullname = $product->fullname;
9 10 ?>
10 11 <li class="item">
11 12 <div class="boxitem">
... ... @@ -16,8 +17,8 @@
16 17 '#' => 'm' . $product->enabledVariants[ 0 ]->product_variant_id,
17 18 ]) ?>">
18 19 <?= \common\components\artboximage\ArtboxImageHelper::getImage($product->enabledVariants[ 0 ]->imageUrl, 'list', [
19   - 'alt' => $product->category->categoryName->value . ' ' . $product->fullname,
20   - 'title' => $product->category->categoryName->value . ' ' . $product->fullname,
  20 + 'alt' => $fullname,
  21 + 'title' => $fullname,
21 22 ]) ?>
22 23 </a>
23 24 </div>
... ... @@ -64,7 +65,7 @@
64 65 'product' => $product,
65 66 '#' => 'm' . $product->enabledVariants[ 0 ]->product_variant_id,
66 67 ]) ?>"
67   - class="name"><?= $product->fullname ?>
  68 + class="name"><?= $fullname ?>
68 69 </a></div>
69 70  
70 71 <?php
... ... @@ -100,8 +101,8 @@
100 101 '#' => 'm' . $variant->product_variant_id,
101 102 ]) ?>">
102 103 <?= \common\components\artboximage\ArtboxImageHelper::getImage($variant->imageUrl, 'product_variant', [
103   - 'alt' => $product->category->categoryName->value . ' ' . $product->fullname,
104   - 'title' => $product->category->categoryName->value . ' ' . $product->fullname,
  104 + 'alt' => $fullname,
  105 + 'title' => $fullname,
105 106 ]) ?>
106 107 </a>
107 108 </li>
... ...