Jump to content

Új "jelzés" a termékre (mint pl: Új)


Encsike

Recommended Posts

Sziasztok!

 

Abban kellene nekem segítség, hogy hogyan lehetne azt megoldani, hogy bizonyos termékekre rákerüljön egy "jelzés" nem tudom jobban megfogalmazni, olyan mint mikor egy termék új akkor X napig rajta van a képen hogy új. Hogyan lehetne ezt megtenni más szöveggel is, az általam kiválasztott termékeknek? Pl, hogy a Ezt ajánljuk!

Van valakinek esetleg megoldás, ötlete vagy létezik erre modul?

Köszi!

 

Encsi

Link to comment
Share on other sites

Most az akciós és az új jelölés is használatban van, ezért ha úgy lehet csak megoldani, hogy azokat variáljuk át az nekem nem jó. :( Egy teljesen új 3. féle címke kell nemek ami pl az lenne, hogy Ezt ajánljuk mi! Csak lista nézet van ebben a shopban, illetve a főoldalon van a rácsos a kiemelt termékeknél. 

Köszi

Link to comment
Share on other sites

Példa az ÚJ termékre:

 

{if isset($product.new) && $product.new == 1}
    <div>
        <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}">
            <div style="background-image: url({$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')});
                background-repeat: no-repeat;
                background-position: center top, center top;
                width: 230px;
                height: 230px;">
            </div> 
        </a>
        
        <div class="cimke-im"><img src="/img/zold_ujtermek_arjelzo.png" width="80" height="78" 
             alt="{$product.legend|escape:'htmlall':'UTF-8'}" />    
        </div>
        
    </div>
    
 {else}

    <div>
        <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}">
            <div style="background-image: url({$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')});
                background-repeat: no-repeat;
                background-position: center top, center top;
                width: 230px;
                height: 230px;">
            </div> 
        </a>
    </div>
    
{/if}

 

Tehát: első sorban megvizsgálom, hogy a termék új-e. Ha igen, akkor a termék képét beteszem css háttérképként a hozzátartozó tulajdonságokkal együtt. Ez után következik egy "cimke-im" css class div-ben, ami tartalmazza a lényeget: ráteszi a képre az ÚJ címkét.
A valóságban így néz ez ki grid (rács), majd list (lista) nézetben:

gridview.jpg        listview.jpg

amennyiben a termék nem új, úgy az {else} ág fut le, ami ugyanaz mint az első rész, annyi kivétellel hogy a címke div-je nincs benne.

 

List és Grid css-e (global.css végére tettem őket az egyszerűség kedvéért):

 

csslistgrid.jpg

 

Bocsi, azért képként mert kódnézetben valamiért mindig szétbarmolta a fórum.

 

Ebéd után felteszem az akciós címkét is.

Edited by pattila01 (see edit history)
  • Like 2
Link to comment
Share on other sites

Példa az AKCIÓS termékre:

    {if isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
    
	<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}">

            <div style="background-image: url({$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')});
                background-repeat: no-repeat;
                background-position: center top, center top;
                width: 230px;
                height: 230px;">      
        </a>
            
            <div class="cimke-im2">
                <img src="/img/piros_akcio_arjelzo.png" width="80" height="78" alt="{$product.legend|escape:'htmlall':'UTF-8'}" />
            </div>

        {if $product.specific_prices.reduction_type == 'percentage'}  
            <div class="cimke-im3" style="font-size: 20px;">-{$product.specific_prices.reduction*100}%</div>{/if}

                {if  $product.specific_prices.reduction_type == 'amount'}  
    
                    {if $product.specific_prices.reduction|count_characters <= 9}
            
                        <div class="cimke-im3" style="font-size: 20px;">-{$product.specific_prices.reduction|floatval}Ft</div>
               
                    {elseif $product.specific_prices.reduction|count_characters < 12}
            
                        <div class="cimke-im3" style="font-size: 15px;">-{$product.specific_prices.reduction|floatval}Ft</div>
            
                    {elseif $product.specific_prices.reduction|count_characters < 13}
            
                        <div class="cimke-im3" style="font-size: 12px;">-{$product.specific_prices.reduction|floatval}Ft</div>
            
                {else}
            
            <div class="cimke-im3" style="font-size: 8px;">-{$product.specific_prices.reduction|floatval}Ft</div>
            
            {/if}
         {/if}
            </div>
    {else}

Első sorban megvizsgálom, hogy akciós-e a termék.

Ha igen, akkor ugyancsak css-ben beteszem a képét linkesítve, majd "cimke-im2" néven hivatkozok rá css-ben ugyanúgy, ahogyan fent az új esetében (nyilván a címke képe és pozicionálása más):

ul.list .cimke-im2 img {
    margin-top: -31px;
}

ul.grid .cimke-im2 img {
    margin-top: -31px;
}

A címke div-je után jön egy rakás if-else. Az elsőben megvizsgálom, hogy az akció százalékos-e vagy mennyiségalapú.

Ha százalékos, akkor kimutatom %-osan (ennek css-e cimke-im3 néven szerepel, nyilván mert ezt is pozicionálni kell).

Ha nem, akkor fut tovább a program: ha "amount" vagyis mennyiség alapú, akkor lekérdezem a "count_characters" smarty függvénnyel az eredmény karakterértékét ( http://www.smarty.net/docsv2/en/language.modifier.count.characters.tpl ).

Ez azért kell, mert ha a kedvezmény 10 forintra szól, akkor nem ugyanazt a css font-size-t kell használja, mint ha 10.000 forintos volna a kedvezmény. Nemes egyszerűséggel azért nem, mert karaktermennyiségben különböznek: így ugyanakkora méretben kicsúsznának a címkéből, illetve kellemetlen lenne a szemnek.

 

Ennek tudatában kérdezgetem le, és ez alapján állítom be a font-size-t. Így szép olvasható lesz a leárazás mértéke több tízezres kedvezménynél is, és pár forintos esetén is.

Edited by pattila01 (see edit history)
  • Like 2
Link to comment
Share on other sites

Nem tudom, Neked ez segítség-e. Ha jól értem, akkor nem ezt szeretnéd megoldani ahogyan azt írtad az indítóban, hanem harmadik állapotot szeretnél létrehozni. Ennek szerintem nincs akadálya, de a forrás kellene.

Tehát az új termék esetén a forrás a motorban van: ha X nap letelt, akkor már nem számít újnak. Akciós termék esetében admin felületen lehet kedvezményt beállítani, ez a forrás.

 

A Te esetedben mi lenne a forrás? Értesz?

Kellene egy pipa admin felületben a termék szerkesztésénél, nem? Ha benn a pipa, akkor alkalmazza azt a tpl-css párosítást product-list.tpl-ben, amit fentebb írtam csak természetesen a harmadik állapottal.

 

Ebben az esetben viszont bele kell nyúlni kicsit jobban szerintem. Admin felületen ki kell alakítani a pipás checkboxot és bekötni a motorba, majd lekérdezni tpl-ben az értékét, és ez alapján elágazni.

  • Like 1
Link to comment
Share on other sites

Köszönöm Attila! Értem mit írsz és örülök, hogy Te is érted, hogy én mit akarok! :D

 

Jelenleg úgy van megoldva, hogy címke mezőben szerepel a szöveg "Ezt ajánljuk mi!" de ha oldalt a cimkéknél rákattint, akkor fel jön 260 termék, aminél meg már szűrni sem tud. Tehát így nem jó. 

 

Az lenne a jó, ha ez a címke látszódna a terméknél, az se baj ha nem a képen, csak látszódjon, hogy mikor valaki böngészi a készletet, akkor lássa ott ezt a jelzést. (szeretik a vevők!)

 

Mivel használt gyerekruha webshopról van szó, ami állandó készletváltozást jelent ezért fontos, hogy a CSV importtal feltölthető legyen ez a jelzés! 

 

Tehát a kérdésedre a válasz, a címkénél van a forrás! Ha ez a bizonyos címke szerepel a terméknél, akkor jelenjen meg a jelzés a terméken! Meg lehet ezt oldani?

 

Köszi az eddigi segítségedet is! :)

Link to comment
Share on other sites

Most xampp alatt kipróbáltam egy teszt 1.5.4.1-en.

 

Ha a product-list.tpl-be beírod az alábbit:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
            <span>{$value|escape:html:'UTF-8'}</span>
        {/foreach}
{/foreach}
</ul>

Akkor már kilistázza az adott termékhez admin felületben csatolt címkéket. Ez már elég jó kiindulópont.

 

Persze ezt még finomítani kell, de a lényeg már megvan. Ezt már bele lehet fűzni elágazásba... ha a value értéke megegyezik == "Ezt ajánljuk mi!" szöveggel, akkor x és y meg z... :) :)

 

Tetszik érteni? :)

Edited by pattila01 (see edit history)
  • Like 2
Link to comment
Share on other sites

Köszönöm Attila! Igazad van elfelejtettem! a verzió: 1,5,6,2 és nem default téma, hanem egy ingyenes sablon a neve free green theme

 

Amit írtál értem! :) De annyira nem vagyok profi, hogy befejezzem a kódot! :D

Nagyon köszi!

Link to comment
Share on other sites

A kódot először is illeszd be a product-list.tpl-be, hogy lássuk egyáltalán ezzel a verzióval és a Te sablonoddal működik-e.

A product-description után tenném:

<p class="product_desc">
...
</p>

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
            <span>{$value|escape:html:'UTF-8'}</span>
        {/foreach}
{/foreach}
</ul>

Valami ilyesmit kellene láss:

cimkep1541.jpg

 

A "Belkin Leather Folio for iPod nano - Black / Chocolate" termékhez írtam adminban két címkét:

"attila" és "patronus" (hirtelen ezek jutottak eszembe).

  • Like 2
Link to comment
Share on other sites

Szia!

Sikerült kipróbáltam, csak betettem a kódot minden csicsa nélkül de működik! :) Most a leírás alatt látszik szúrok be képet:

cimke.jpg

Most már csak az kell, hogy csak azt az egy adott címkét jelenítse meg ami nekem kell, majd kicsicsázom és szerintem a leírás fölé fogom tenni kész! :)

 

Kérek áruld el mit kell tennem hozzá! :) Nagyon Köszi!

Link to comment
Share on other sites

Szia! :)

 

Igen, a leírás alatt is kellett, hogy megjelenjen (product-description alá mondtam, hogy szúrd be).

 

Adott címkét... hmmm.

 

Próbáld ki ezt:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
    
        {if $value == "patronus" }
            <span style="font-size: 20px;">
                <a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}">{$value|escape:html:'UTF-8'}</a>
            </span>
        {/if}
    
        {/foreach}
{/foreach}
</ul>

Tehát: if-be tettem a "patronus" szót, így most csak ott jelenik meg (nálam) ahol a "patronus" van megadva címkeként.

Nyilván Neked ide az "Ezt ajánljuk mi!" szöveget kell betenni, de vigyázz: szintaktikailag pontosan meg kell, hogy egyezzen a címkével! Nem lehet benne elütés, vagy kis-nagybetű különbség.

 

A span-jába tettem egy alap style-t, font-size-al... itt nyugodtan megadhatod, mekkora legyen a betűméret (meg nyilván még más css-t is).

 

A value-t, vagyis az értéket a href-eltem, vagyis linkesítettem Neked: így rá tudnak kattintani, ha épp azt akarnak.

 

Nézd meg, működik-e.

Edited by pattila01 (see edit history)
  • Like 1
Link to comment
Share on other sites

A kód jó mert működik, de az a bajom, hogy csak olyan "szóval", ami nem ékezetes. Kipróbáltam a "ruha" címkével és megy, de a "Cuka babának tetszik" címkével már nem hozza fel. Megpróbáltam az "á" betűt kóddal helyettesíteni de nem segített. Van esetleg ötleted mi lehet a gond?

 

Köszi!

Link to comment
Share on other sites

Fura, mert nálam működik rendesen.

 

Vagy szerverbeállítás lesz, vagy nem UTF-8-ban mented el a .tpl fájlt.

 

Mindenesetre meg lehetne ezt próbálni:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
    
        {$ezkell = "hűhaékezet"}
    
        {if $value == {$ezkell|escape:html:'UTF-8'} }
            <span style="font-size: 20px;">
                <a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}">{$value|escape:html:'UTF-8'}</a>
            </span>
        {/if}
    
        {/foreach}
{/foreach}
</ul>

A szót az "ezkell" változóba írd be.

  • Like 1
Link to comment
Share on other sites

Ugyan az! :( mi van akkor ha másképp oldjuk meg? pl a címke minden esetben valami egyszerűbb szó lesz ékezet és szóköz nélkül, de ha az meg van akkor nem a címkét írja ki hanem azt a konkrét szöveget amit szeretnék?

Link to comment
Share on other sites

az is teljesen használható... jó ötlet

 

de amúgy mennie kéne

 

szerintem nem jól mented el :)

 

nem számít, akkor módosítsd le a címkét valami pofon egyszerűre, kiíratni meg írasd ki így:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
    
        {if $value == "pofonegyszeru" }
            <span style="font-size: 20px;">
                <a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}">Ez egy Baba Címke!</a>
            </span>
        {/if}
    
        {/foreach}
{/foreach}
</ul> 

vagy esetleg, ha problémázik a karakterkódolás miatt:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}

        {$value2 = "Ez egy Baba Címke!"}
    
        {if $value == "pofonegyszeru" }
            <span style="font-size: 20px;">
                <a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}">{$value2|escape:html:'UTF-8'}</a>
            </span>
        {/if}
    
        {/foreach}
{/foreach}
</ul>
  • Like 2
Link to comment
Share on other sites

Sziasztok!

Ilyen lett, a szöveget egy képpel helyettesítettem végül, ami illik az oldal stílusához. 

cukatetszik1.jpg

 

Még abban szeretnék segítséget kérni, hogy melyik filet kéne módosítanom, hogy a termék egyéni oldalán is látszódjon?

 

Köszi! Enikő

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

Sziasztok! 

 

Segítséget szeretnék kérni!  

A kódot amivel a cimke szerint beteszi a képet a termékhez most szeretném áttenni az új 1.6.0.14-es verzióba. Megjelenik a kép ugyan úgy csak épp kétszer. Mi lehet a gond szerintetek? Nem értek a kódokhoz, csak amit a józan paraszti eszemmel kisilabizálok! :P

 

Ezt a kódot teszem be:

<ul class="producttags">
{foreach from=Tag::getProductTags({$product.id_product}) key=k item=v}
       	{foreach from=$v item=value}
        {$ezkell = "Cuka babának tetszik"}
        {if $value == {$ezkell|escape:html:'UTF-8'} }
                            <a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}"><img src="http://ruhacuka.hu/cukatetszik.jpg"></img></a>
        {/if}
        {/foreach}
{/foreach}
</ul></p>

És ez lesz belőle:

ujboltcukakh.jpg

 

Köszi! Enikő

Link to comment
Share on other sites

Kipróbáltam és ha azt az egy  cimkét kitörlöm, akkor csak egyszer jelenik meg. De miért? Sehol máshol nem szerepel az a cimke.

Ami ezzel a problémám...

Mivel használt ruhákról van szó és mindenből csak 1-1 db van, igy hetente kb 2-300 új termék kerül fel az eladottak helyére. CSV importtal mennek fel a cuccok és a cimkéknél szerepel a "Cuka babának tetszik" cimke és csak itt! Ha ide beírjuk, akkor feltöltés után 2x hozza, ha nem irjuk be akkor meg nem hozza ki. :/

Link to comment
Share on other sites

Kérlek Attila ezt most írd le nekem úgy hogy halandó ember lévén is megértsem ;)

Teljesítményfül ok, felül ezek a beállítások vannak:

Sablonkompilálás        Sablon fájlok generálása ha azok változtak
Gyorsítótár                      IGEN
Gyorsítótár típus           Fájlrendszer
Gyorsítótár ürítése        Clear cache everytime something has been modified
 
Lent pedig a gyorsítótár ki van kapcsolva. Itt nincs valami jól beállítva? Én ezekhez nem nyúltam.
 
Köszi!
Enikő
Edited by Encsike (see edit history)
  • Like 1
Link to comment
Share on other sites

Köszönöm Attilának a segítséget, amit a háttérben tett, de végül egy nagyon egyszerű megoldása volt a dolognak, amiről először én sem gondoltam igazán, hogy működhet. Attila kiderítette nekem, hogy azért jelenik meg 2x mert az angol és a magyar sablon beállítások (vagy valami ilyesmi) miatt 2 nek érzékel. Kiderítette, hogy minden cimke 2x van, ezért volt az hogy ha a magyar nyelvre állított adminban töröltem az egyik termékből a címkét akkor már csak 1x jelent meg mert az angolban ott maradt. 

A megoldás: Törölni kell az angol nyelvet, nem elég kikapcsolni. - Magyar webshop magyar közönségnek az angol nyelvre amúgy sincs szükség :) És lőn minden frankó! :) 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...