برداشتن عکس اول محصولات در صفحه محصول

Started By ayjoonn, Mar 24 2020 08:19 PM

بدون پاسخ
ayjoonn

    عضو انجمن

  • عضو انجمن
  • ستارهستاره
  • 2 محبوبیت
  • 86 ارسال

ارسالی 24 March 2020 - 08:19 PM

سلام و احترام خدمت همه دوستان و اساتید

یه موضوع که از اولین باری که پرستاشاپ رو نصب کردم تا الان همیشه درگیرش بودم و ذهنمو مشغول میکرد این بود که چطور میشه عکس اول محصول رو در صفحه محصولات برداریم چرا که معمولا عکس اول کیفیتش پایینتره به دلیل سایز کوچکتر و اینکه برای سرعت سایت و... نیازه حجمش پاینتر باشه و وقتی در صفحه محصول این عکس رو میزاریم یه سری مشکلات داره که یکیش همین کوچک بودنشه و بعد هم اینکه شاید عکسای بزرگمون دارای واتر مارک باشن و ... که عکس اول نباید اون خصلت هارو داشته باشه

امروز دیگه جدی پیگیر شدم که این عکس رو بردارم از صفحه محصول و راه حل رو پیدا کردم از یه تاپیک خارجی که ترجمه میکنم و میدم خدمتتون تست کنید.برای من روی دوتا سایت امتحان کردم جواب داد

این راه حل برای پرستا 1.6

برای 1.4 روش فرق داره که توضیحی نمیدم چون تست نکردم 

 

برای شروع به پوشه تمی که فعاله روی سایتتون مراجعه کنید و فایل product.tpl رو ویرایش کنید 

درون این فایل کلمه {if $have_image} سرچ کنید  و بعد از پیدا کردن این کلمات چند خط کدی که میزارم رو اضافه کنید به ادامه همین کلمات

{foreach from=$images item=image name=bigImg key=i}
                        {if $smarty.foreach.bigImg.iteration == 2}
                            {assign var=imageLegendCover value=$image.legend|escape:'html':'UTF-8'}
                            {assign var=imageIdCover value=$image.id_image}
                        {/if}
                    {/foreach}

بعد از این کار چندتا از متغیرهارو اسمشو تغییر میدیم

$cover.legend - $imageLegendCover

$cover.id_image - $imageIdCover

 

یعنی خیلی راحت سرچ میکنید و متغیر دوم رو جایگزین متغیر اول میکنید هرجا که اسمی از متغیر اول هست رو بجاش متغیر دوم رو جایگزین میکنید،اولی 10تا باید باشه قاعدتا دومی هم 7بار تکرار شده

 

خب در مرحله بعد این قطعه کد رو جایگزین کدهای موجود میکنیم

<span id="view_full_size">
{if $jqZoomEnabled && $have_image && !$content_only}
<a class="jqzoom" title="{if !empty($imageLegendCover)}{$imageLegendCover|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" rel="gal1" href="{$link->getImageLink($product->link_rewrite, $imageIdCover, 'thickbox_default')|escape:'html':'UTF-8'}">
<img itemprop="image" src="{$link->getImageLink($product->link_rewrite, $imageIdCover, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($imageLegendCover)}{$imageLegendCover|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($imageLegendCover)}{$imageLegendCover|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"/>
</a> {else} <img id="bigpic" itemprop="image" src="{$link->getImageLink($product->link_rewrite, $imageIdCover, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($imageLegendCover)}{$imageLegendCover|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"

</span>
alt="{if !empty($imageLegendCover)}{$imageLegendCover|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" width="{$largeSize.width}" height="{$largeSize.height}"/> {if !$content_only} <span class="span_link no-print">{l s='View larger'}</span> {/if}

{/if}

برای جایگذاری کد بالا کافیه view_full_size رو سرچ کنید و در جای مناسب جایگذاری کنید

 

مرحله آخر هم کد پایین رو در قسمت thumbnails جایگزین میکنیم

{if $smarty.foreach.thumbnails.iteration != 1}
<li id="thumbnail_{$image.id_image}"{if $smarty.foreach.thumbnails.last} class="last"{/if}>
<a{if $jqZoomEnabled && $have_image && !$content_only} href="javascript:void(0);" rel="{literal}[spam-filter]/literal}gallery: 'gal1', smallimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'large_default')|escape:'html':'UTF-8'}',largeimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}'{literal[spam-filter]{/literal}"{else} href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}" data-fancybox-group="other-views" class="fancybox{if $image.position == 2} shown{/if}"{/if} title="{$imageTitle}">
<img class="img-responsive" id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'cart_default')|escape:'html':'UTF-8'}" alt="{$imageTitle}" title="{$imageTitle}"{if isset($cartSize)} height="{$cartSize.height}" width="{$cartSize.width}"{/if} itemprop="image" /> </a> </li>

{/if} 

برای اینکه متوجه بشیم توی کدوم thumbnails جایگزین کنیم کافیه کدهارو مقایسه کنید، برای من خط 226 بود

خیلی راحت،تموم از شر عکس اول خلاص شدیم

اگر دوستان راه بهتری هم دارن توضیح بدید خوشحال میشیم

عکس اول thumbnails توی صفحه محصول جاش خالیه و هستش اگر برای از بین بردن اون هم راه حلی دارید بفرمایید.

 


0 کاربر در حال خواندن این موضوع است

0 کاربر، 0 مهمان و 0 عضو مخفی