Jump to content
2grosiek7

Logo producenta przy produktach

Recommended Posts

producenta masz zdefiniowanego jako "manufacturer" ? tj. w back office?

Share this post


Link to post
Share on other sites

no to rozwiązanie będzie baaanalne

 

otwieramy product.tpl

 

i tam gdzie chcesz logo producenta umieszczasz kod:

<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" /> 

Share this post


Link to post
Share on other sites

Ręcznie przez Prestashop ciężko mi będzie opisać 8000 produktów :P
Dałoby radę poprzez cechy? Przypisać do cechy obrazek, a do produktów daną cechę?

Share this post


Link to post
Share on other sites

teraz nie rozumiem ;) 

 

ten kod, jak go umieścisz w product.tpl z automatu wyświetli logo dla kazdego produktu, który ma przypisanego producenta

 

jak rozumiem, nie masz podpiętych producentów do produktów? czy jak?

Share this post


Link to post
Share on other sites

Korzystam z łącznika między subiektem gt a prestą - on np. przypisuje kategorie podług cech w programie biurowym. Zastanawiam się, czy jest możliwość czytania tych cech w taki sposób, aby mogły przypisać odpowiednie loga producentów.

Share this post


Link to post
Share on other sites

no to zaczyna się sprawa komplikować, na początku powiedziałeś, że producentów masz podpiętych jako manufacturer - w tym przypadku problem jest żaden.

 

No ale te atrybuty...

w chwili obecnej nie ma możliwości podpięcia producenta do atrybutu, w grę wchodzi jedynie zabawa w warunki {if}, i to nie mała

 

np. {if atrybut == 'przyklad'} wyświetl logo {/if} i tak trzeba zrobić dla każdego atrybutu, ale z takim rozwiązaniem to... można się zajechać definiując te warunki ;) 

Share this post


Link to post
Share on other sites

Korzystam z łącznika między subiektem gt a prestą - on np. przypisuje kategorie podług cech w programie biurowym. Zastanawiam się, czy jest możliwość czytania tych cech w taki sposób, aby mogły przypisać odpowiednie loga producentów.

Z jakiego synchronizatora korzystasz? - my korzystamy z rozwiązania firmy "Firmes" - on synchronizuje również producenta produktu sklep <-> system, w związku z powyższym nie ma problemu z opisywanym przez vekia dodaniem zdjęcia producenta do produktu.

Może u ciebie też jest gdzieś opcja jakie pola mają być synchronizowane ?

Share this post


Link to post
Share on other sites

 

no to rozwiązanie bedzie baaanalne

 

otwieramy product.tpl

 

i tam gdzie chcesz logo producenta umieszczasz kod:

<img src=" {$img_manu_dir}{$product-> id_manufacturer}. jpg "/> 

Działa,loga producentów widać, a czy można ustawić by po kliknięciu na logo nastąpiło przejście na produkty tego producenta?

Edited by kzwp (see edit history)

Share this post


Link to post
Share on other sites

a można ;) pisane z pamięci, nie testowane

<a href="{$link->getManufacturerLink($product->id_manufacturer)}"><img src=" {$img_manu_dir}{$product-> id_manufacturer}. jpg "/></a>
  • Like 1

Share this post


Link to post
Share on other sites

 

a można ;) pisane z pamięci, nie testowane

<a href="{$link->getManufacturerLink($product->id_manufacturer)}"><img src=" {$img_manu_dir}{$product-> id_manufacturer}. jpg "/></a>

wstawiłem ten kod do product.tpl ale nie znajduje obrazków mimo, że mam zdefiniowanych producentów z logosami w Katalog-Producenci

Share this post


Link to post
Share on other sites

wstawiłem ten kod do product.tpl ale nie znajduje obrazków mimo, że mam zdefiniowanych producentów z logosami w Katalog-Producenci

 

samo wstawienie kodu oraz wpisanie producentów jeszcze nic nie da. Zerknij czy masz dla każdego produktu zdefiniowanego producenta

Share this post


Link to post
Share on other sites

generalnie wszystko gra tylko nie pokazuje obrazków (domyślna templatka, najnowsza presta)

 

prtscr.jpg

Share this post


Link to post
Share on other sites

a sprawdź w ten sposób: zobacz jaki link ma ten nie wyświetlany obraz oraz jak się nazywa plik graficzny danego producenta, który powinien się wyświetlić.Sprawdzimy czy poprawny wskazuje.

Share this post


Link to post
Share on other sites

spojrzałem jeszcze raz i jest niepotrzebna spacja w kodzie

id_manufacturer}. jpg

Share this post


Link to post
Share on other sites

Trochę odświeżę temat . Chciałem zrobił podobny bajer ale dotyczący dostawcy. 
Tzn wyświetlają mi się 2 obrazki obok siebie (dostawca i producent). No ale nie wyświetla mi obrazka ( bo jest błąd)

Zrobiłem w ten sposób:

<div id="thumbs_list">
<!-- LOGO producenta -->
<a href="{$link->getManufacturerLink($product->id_manufacturer)}"><img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" height=30% width=30% /> 
<!-- LOGO dostawcy -->
<img src=" {$img_supplier_dir}{$product->id_supplier}.jpg" height=30% width=30%/> 
</div>

ale wiem że zrobiłem błąd tutaj " {$img_supplier_dir} " .

Ogółem rzecz biorąc chciałem wykorzystać dostawcę na podobnej zasadzie co producent (chciałem dodać do wybranych produktów znaczek certyfikatu), nie da się jednak dodać dwóch producentów więc może się uda tak. Nie znam tylko sposobu interpretacji przez preste gdzie znajduje się obrazek do dostawcy.

 

Edited by pbpo (see edit history)

Share this post


Link to post
Share on other sites

#ref , wie ktoś jakie jest odwołanie do zdjęć zawartych w folderze z dostawcami ? 

Share this post


Link to post
Share on other sites

A ja bym chciał zamiast napisów w filtrze po producencie wstawić tam loga tych producentów. Wie może ktoś gdzie to zrobić?.

Share this post


Link to post
Share on other sites

Nie mogę wymyślić jak wyświetlić logo producenta ale tylko wtedy gdy zostało wgrane.

Próbuję 

 

{assign var="imagex"
value="{$img_manu_dir}{$manufacturer->id_manufacturer}.jpg"}
 
{if file_exists ($imagex)}
wyświetl obrazek
{/if}
 
Ale polecenie w warunku nie wykonuje się niezależnie czy logo wgrane, czy też nie.
Jakieś sugestie??
Edited by rabacik_pl (see edit history)

Share this post


Link to post
Share on other sites

U mnie w wersji ps 1.4.6 Wyświetlanie loga producenta wygląda tak:
 

<div id="thumbs_list1">
<!-- LOGO producenta -->
<a href="{$link->getManufacturerLink($product->id_manufacturer)}">
<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" height=30% width=30% />
</a>
</div>

Powinno działać na wersji 1.6 

Share this post


Link to post
Share on other sites

Dzięki za info.

1- Ja to chcę zrobić na stronie z produktami wybranego producenta (nie mam wiec jeszcze id_produktu).

2- Jak nie ma loga wgranego, to będzie się wyświetlał obrazek (brak obrazka). A ja bym chciał żeby logo nie próbowało się wyświetlać jeśli nie jest wgrane. Stąd próba warunku if file_exists ale nie działa niestety.

Przykładowo:

http://b2b.casabriko.pl/8_casabriko

tu jest wgrane logo i się pokazuje

http://b2b.casabriko.pl/95_casa-si

a tu nie ma i nie chce tego znaku zapytania. Powinno być jak tu:

http://sklep.rabacik.pl/95_casa-si

Share this post


Link to post
Share on other sites

a mi w produkcie logo wyświetla a ja bym chwiał jeszcze na liście poduktów sie pokaywalo

 

wklejam

<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" />

 

i obrazek się nie wczytuje :(

Share this post


Link to post
Share on other sites

A jak wpiszesz w następnej linijce:

{$img_manu_dir}{$product->id_manufacturer}.jpg

to co pokazuje? Bo powinno wskazać plik do wyświetlenia. Ścieżka jest prawidłowa? Masz ten plik?

Share this post


Link to post
Share on other sites

Aby wyświetlić logo producenta tylko jeżeli istnieje możesz użyć tego kodu:

{if $product_manufacturer->id}
	{assign var='manufacturer_image_exists' value=file_exists($smarty.const._PS_IMG_DIR_|cat:'m/'|cat:$product_manufacturer->id_manufacturer:'.jpg')}
	{if $manufacturer_image_exists}
		<a href="{$link->getmanufacturerLink($product_manufacturer->id_manufacturer, $product_manufacturer->link_rewrite)|escape:'html':'UTF-8'}">
			<img src="{$img_manu_dir}{$product_manufacturer->id_manufacturer}.jpg" alt="{$product_manufacturer->name}" />
		</a>
	{/if}
{/if}

a na liście produktów w ten sposób:

{if $product.id_manufacturer}
	{assign var='manufacturer_image_exists' value=file_exists($smarty.const._PS_IMG_DIR_|cat:'m/'|cat:$product.id_manufacturer:'.jpg')}
	{if $manufacturer_image_exists}
	<img src="{$img_manu_dir}{$product.id_manufacturer}.jpg" alt="{$product.manufacturer_name}" />
	{/if}
{/if}
Edited by Krystian Podemski (see edit history)

Share this post


Link to post
Share on other sites

Dzięki, trochę zmodyfikowałem i poszło. Generalnie, jeśli wybieramy producenta (czy jak kto woli dostawcę - bo to będzie adekwatnie) to nie mamy produktu. Ciężko więc pobrać:

$product_manufacturer

Mamy natomiast id producenta, bo właśnie go wybraliśmy.

Stąd moja wersja działająca:

 

{if $manufacturer->id_manufacturer}

    {assign var='manufacturer_image_exists' value=file_exists($smarty.const._PS_IMG_DIR_|cat:'m/'|cat:$manufacturer->id_manufacturer:'.jpg')}
        {if $manufacturer_image_exists}
            <a href="{$link->getmanufacturerLink($manufacturer->id_manufacturer, $manufacturer->link_rewrite)|escape:'html':'UTF-8'}">
            <img src="{$img_manu_dir}{$manufacturer->id_manufacturer}.jpg" alt="{$manufacturer->name}" />
            </a>
        {/if}
{/if}

Share this post


Link to post
Share on other sites

a mi w produkcie logo wyświetla a ja bym chwiał jeszcze na liście poduktów sie pokazywalo

 

wklejam

<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" />

 

i obrazek się nie wczytuje :(

Na liście produktów nie masz konkretnego produktu, więc nie możesz pobrać id producenta z id produktu. Musisz raczej spytać listę produktów o listę id'ów producentów dotyczących wyświetlanej listy produktów i potem budować listę obrazków z logo producenta.

To chyba raczej zadanie dla jakiegoś modułu niż prostej modyfikacji .tpl?

Edited by rabacik_pl (see edit history)

Share this post


Link to post
Share on other sites

Na liście produktów masz możliwość pobrania id_manufacturer dla konkretnego produktu, przecież dałem kod odpowiadający za to.

Na liście produktów korzystasz z tablicy, nie z obiektu produktu więc dostęp do id_manufacturer robisz poprzez $product.id_manufacturer a nie ->

Share this post


Link to post
Share on other sites

{if $product.id_manufacturer}
    {assign var='manufacturer_image_exists' value=file_exists($smarty.const._PS_IMG_DIR_|cat:'m/'|cat:$product.id_manufacturer:'.jpg')}
    {if $manufacturer_image_exists}
    <img src="{$img_manu_dir}{$product.id_manufacturer}.jpg" alt="{$product.manufacturer_name}" />
    {/if}
{/if}

 

u mnie na liscie produktów działa bez zarzutu dzięki wielkie :)

Share this post


Link to post
Share on other sites

Witam,
Gdzie w Prestashop 1.6 znajdę ten plik product.tpl? Nie ma go w lokalizacji /themes/default-bootstrap/ :/

Edited by qmski (see edit history)

Share this post


Link to post
Share on other sites

Musi być, jeśli korzystasz z tego szablonu i poprawnie wyświetla Ci się strona produktu to ten plik jest na 100%.

Share this post


Link to post
Share on other sites

Faktycznie - jest ten plik. Był jakiś problem z klientem FTP i nie pokazywał całej zawartości katalogu.
przepraszam za nieporozumienie

Edited by qmski (see edit history)

Share this post


Link to post
Share on other sites

WItam, 

 

u mnie sprawdziło się to rozwiązanie z małym wyjątkiem. Tam gdzie nie mam przypisanego producenta, bo nie ma on konkretnej marki również wyświetla się logo losowo wybranego innego producenta. Jakie zmiany należy wprowadzić by nie wyświetlało nic przy produktach bez marki?

 

Pozdrawiam.

Share this post


Link to post
Share on other sites

Możesz ustawić funkcję tak by w przypadku braku producenta(marki) wyświetlał pustego diva np "<div class="emptymanufacturer"></div>"

Share this post


Link to post
Share on other sites

Możesz ustawić funkcję tak by w przypadku braku producenta(marki) wyświetlał pustego diva np "<div class="emptymanufacturer"></div>"

 

Niestety nie podziałało.

tak to u mnie wygląda 

 

</p>

<a href="{$link->getManufacturerLink($product->id_manufacturer)}">
<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" width="100%" height= auto; />
<div class="emptymanufacturer">
</div>
</p>

Share this post


Link to post
Share on other sites

Tak to na pewno nie zadziała trzeba postawić warunek który sprawdzi czy jest producent, czyli ma to wyglądać mniej więcej tak:

 

{if $product->id_manufacturer != '0'}

<p>

<a href="{$link->getManufacturerLink($product->id_manufacturer)}">

<img src=" {$img_manu_dir}{$product->id_manufacturer}.jpg" width="100%" height= auto; />

</p>

{else}

<div class="emptymanufacturer"></div>

{/if}

Share this post


Link to post
Share on other sites

Tak jak napisał endriu107, musisz sprawdzić czy producent jest przypisany, najładniej to sprawdzić w sposób pokazany w moim przykładzie:

 

{if $product->id_manufacturer}

tutaj kod wyświetlania

{/if}

Share this post


Link to post
Share on other sites

Nie chcąc zakładać nowego tematu zapytam tutaj gdyż jest zbliżone. Czy można przypisać do produktu dwóch producentów?

Share this post


Link to post
Share on other sites

Zasadniczo nie, ale możesz pokombinować z dostawcami jako supplier ja tak dodawałem znaczek CNBOP przy produktachnp

Share this post


Link to post
Share on other sites

A jaki kod wpisać żeby w katalogu razem z innymi produktami zamiast Condition: New był napis Producent: Zelmer ?

Share this post


Link to post
Share on other sites

W ten sposób:
 

{if $product->manufacturer_name}
  {l s='Producent:'} {$product->manufacturer_name}
{/if}
  • Like 1

Share this post


Link to post
Share on other sites

Wyświetlanie obrazka działa zarówno z kodem :

<img src="{$img_manu_dir}{$product->id_manufacturer}.jpg"/>

jak i 

<img src="{$base_dir}img/m/{$product_manufacturer->id}.jpg"/>

Żeby było ładnie z SEO można dodać także atrybuty alt i title np :

alt="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}" title="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}"

Jeśli chcemy mieć nazwę producenta zamiast lub z obrazkiem to możemy wpisać:

<b>Producent:</b>{$product_manufacturer->name}

No a jeśli nazwa producenta, czy obrazek, ma być klikalny (wyświetlanie wszystkich produktów tegoż producenta) to pakujemy całość w:

<a href="{$link->getmanufacturerLink($product_manufacturer->id, $manufacturer.link_rewrite)}">...</a>

U mnie całość wygląda tak: 

{if $product->id_manufacturer}
<p><strong>{l s='Manufacturer:'}</strong> <a href="{$link->getmanufacturerLink($product_manufacturer->id, $manufacturer.link_rewrite)}">{$product_manufacturer->name}</a> 
<img src="{$img_manu_dir}{$product->id_manufacturer}.jpg" alt="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}" title="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}"/>
</p>
{/if}

Share this post


Link to post
Share on other sites

Presta Shop 1.6.0.14

W który to dokładnie product.tpl trzeba dodać kod by się wyświetlało logo?

Próbuję w /themes/default-bootstrap oraz /themes/mójszablon/ i nie odnosi to żadnego skutku.

Może dokładam kod w złym miejscu...? Jest to możliwe?

Z góry dziękuję za pomoc.

Share this post


Link to post
Share on other sites

To jeszcze ode mnie jedno pytanie

Opisany poniżej kod działa idealnie

Ale chciałbym aby logo producenta pojawiało się w galerii produktu jako 2 - w większości przypadków mam 1 zdjęcie produktu i zdjęcie loga

Na ten moment jestem w stanie umieścić ten kod w producttpl tak żeby logo producenta wyświetlało się pod zdjęciem produktu ale nie o taki efekt mi chodzi

Chce aby logo producenta było stałym elementem galerii produktu. Na stronie mam zrobione tak że jak najedzie się na obrazek produktu to jeśli mam wgrane do galerii na 2 miejscu logo producenta to właśnie to logo się pojawia. Wklejając ten kod w product tpl tak to nie działa

 

A chce to zrobić bo z tego co zauważyłem dogranie do każdego z 2tys produktów dodatkowego zdjęcia loga wpływa niekorzystnie na ładowanie się strony oraz zabieranie miejsca na serwerze. Chce ten temat zoptymalizować

Jeśli ktoś chce zobaczyć jak to wygląda i podpowiedzieć co mogę zrobić to zapraszam np tu: http://zoona.pl/17-karmy-suche


{if $product->id_manufacturer}
<p><strong>{l s='Manufacturer:'}</strong> <a href="{$link->getmanufacturerLink($product_manufacturer->id, $manufacturer.link_rewrite)}">{$product_manufacturer->name}</a> 
<img src="{$img_manu_dir}{$product->id_manufacturer}.jpg" alt="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}" title="{$product_manufacturer->name|escape:'htmlall':'UTF-8'}"/>
</p>
{/if}
Edited by marcinkukla (see edit history)

Share this post


Link to post
Share on other sites

Witam, u mnie na presta 1.7.6.0 nie działa żaden z proponowanych kodów.  Nie wyświetla ikony Marki ani dostawcy. 

Poniżej jaki kod dodałem:

 

    {if $product->id_manufacturer}
<p><strong>{l s='Producent:'}</strong> 
<img src="{$img_manu_dir}{$product->id_manufacturer}.jpg"/>
</p>
{/if}

Share this post


Link to post
Share on other sites
17 hours ago, Adambc said:

Witam, u mnie na presta 1.7.6.0 nie działa żaden z proponowanych kodów.  Nie wyświetla ikony Marki ani dostawcy. 

Poniżej jaki kod dodałem:

 

    {if $product->id_manufacturer}
<p><strong>{l s='Producent:'}</strong> 
<img src="{$img_manu_dir}{$product->id_manufacturer}.jpg"/>
</p>
{/if}

Jeżeli logo ma się wyświetlać na stronie produktu, to możesz wykorzystać już istniejący fragment ze szczegółów produktu.

{if isset($product_manufacturer->id)}
            <div class="product-manufacturer">
                {if isset($manufacturer_image_url)}
                    <a href="{$product_brand_url}">
                        <img src="{$manufacturer_image_url}" class="img img-thumbnail manufacturer-logo" alt="{$product_manufacturer->name}">
                    </a>
                {else}
                    <label class="label">{l s='Brand' d='Shop.Theme.Catalog'}</label>
                    <span>
                        <a href="{$product_brand_url}">{$product_manufacturer->name}</a>
                    </span>
                {/if}
            </div>
        {/if}

 

Share this post


Link to post
Share on other sites
1 hour ago, WisQQ said:

Jeżeli logo ma się wyświetlać na stronie produktu, to możesz wykorzystać już istniejący fragment ze szczegółów produktu.


{if isset($product_manufacturer->id)}
            <div class="product-manufacturer">
                {if isset($manufacturer_image_url)}
                    <a href="{$product_brand_url}">
                        <img src="{$manufacturer_image_url}" class="img img-thumbnail manufacturer-logo" alt="{$product_manufacturer->name}">
                    </a>
                {else}
                    <label class="label">{l s='Brand' d='Shop.Theme.Catalog'}</label>
                    <span>
                        <a href="{$product_brand_url}">{$product_manufacturer->name}</a>
                    </span>
                {/if}
            </div>
        {/if}

 

Dziękuję działa :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More