februar 19, 2016
Addwish integration med Shoporama
–
Addwish er en dansk ønskeseddel, mersalg, opsalg, søgemaskine ting, som man forholdsvis hurtigt kan tilknytte sin shop. Der skal dog en udvikler ind over. Her er opskriften, din udvikler skal bruge og så tager det max en time.
1. Opret dig og indsæt script
Allerførst skal du oprette dig på Addwish. Når du gør dette, får du et script, som du skal sende til din udvikler. Dette skal han indsætte nederst i din global.html fil (lige inden </body> )
2. Berig dine produkter med info
Dernæst skal der lidt kode ind på dine produkter. Det er bare at copy paste den her ind på product.html siden.
<{assign var="newcachename" value="product_addwishcache"|cat:$product->getProductId()}> <{assign var="randomttl" value=43200|mt_rand:86400}> <{get_cache name=$newcachename ttl=$randomttl assign="my_new_cached_data"}> <{if $my_new_cached_data}> <{$my_new_cached_data}> <{else}> <{cache name=$newcachename}> <span style="display:none" class="addwish-product" data-title="<{$product->getName()|escape}>" <{if $images}> <{section name="j" loop=$images start=0 max=1}> data-imgurl="<{$webshop->getUrl()}><{$images[j]->getSrc(770, 770, 'fit')}>" <{/section}> <{/if}> data-price="<{$product->getRealPrice()|number_format:2:".":""}>" data-productnumber="<{$product->getProductId()}>" data-url="<{$webshop->getUrl()}>/<{$product->getUrl()}>" data-currency="<{$webshop->getCurrency()}>" <{if $supplier}>data-brand="<{$supplier->getName()}>"<{/if}> <{if $product->getIsInStock()}>data-instock="true"<{else}> data-instock="false"<{/if}> <{if $product->getSalePrice()}> data-previousprice="<{$product->getPrice()|number_format:2:".":""}>"<{/if}> <{if $product->getMetaValue('addwish_score')}>data-score="<{$product->getMetaValue('addwish_score')}>"<{/if}> <{if $product->getMetaValue('addwish_gender')}>data-gender="<{$product->getMetaValue('addwish_gender')}>"<{/if}> <{if $product->getMetaValue('addwish_recurrent')}>data-recurrent="<{$product->getMetaValue('addwish_recurrent')}>"<{/if}>></span> <{/cache}> <{/if}>
Bemærk du kan bruge disse i ekstrafelter på produktet
addwish_score
addwish_gender
addwish_recurrent
Hvis de er på produktet, bliver de vist. Hvis ikke, sker der intet ved det.
3. Konverteringsscript
Ja … så skal vi ha’ lidt kode ind på thanks.html. Lidt afhængig af, hvordan du bruger Google Analytics skal du lige være opmærksom på, at den bliver afviklet. Det tester du naturligvis. Men … her er koden, du skal bruge på kvitteringssiden.
<span style="display:none;" class="addwish-conversion" data-tax="<{$order->getVat()|number_format:2:".":""}>" data-ordernumber="<{$order->getWebshopOrderId()}>" data-total="<{$order->getPrice()|number_format:2:".":""}>"> <{assign var="products" value=$order->getProducts()}> <{section name="i" loop=$products}> <span data-unit-price="<{$products[i]->getUnitPrice()|number_format:2:".":""}>" data-url="<{$webshop->getUrl()}>/<{$products[i]->getUrl()}>" data-productnumber="<{$products[i]->getProductId()}>" data-quantity="<{$products[i]->getAmount()|number_format:2:".":""}>" ></span> <{/section}> </span>
4. Et feed til Addwish
Addwish skal bruge et feed med alle dine produkter. Det gøres nemmest således:
Opret en fil med SFTP som du f.eks. kalder addwishfeed.xml. Smid dette deri
<?xml version="1.0" encoding="UTF-8"?> <{assign var="products" value=$landing_page->getProducts()}> <products> <{section name="i" loop=$products}> <product> <url><{$webshop->getUrl()}>/<{$products[i]->getUrl()}></url> <title><{$products[i]->getName()|escape}></title> <{assign var="images" value=$products[i]->getImages()}> <{if $images}> <{section name="j" loop=$images start=0 max=1}> <imgurl><{$webshop->getUrl()}><{$images[j]->getSrc(300, 300, 'fit')}></imgurl> <{/section}> <{/if}> <price><{$products[i]->getRealPrice(null, null, true)|number_format:2:".":""}></price> <keywords></keywords> <description><{$products[i]->getDescription()|escape}></description> <{if $products[i]->getSalePrice()}> <previousprice><{$products[i]->getPrice(null, null, true)|number_format:2:".":""}></previousprice> <{/if}> <productnumber><{$products[i]->getOwnId()}></productnumber> <currency><{$webshop->getCurrency()}></currency> <{assign var="supplier" value=$products[i]->getSupplier()}> <{if $supplier}> <brand><{$supplier->getName()|escape}></brand> <{/if}> <instock><{if $products[i]->getIsInStock()}>true<{else}>false<{/if}></instock> </product> <{/section}> </products>
Opret så en landingsside. Kald den evt. addwish-produkter. Sæt reglerne for de produkter, du vil have med (f.eks. bare realpris > 0 ).
I “eget XML” indtaster du addwishfeed.xml og lige nedenunder har du så URL’en på dit feed, som du skal oplyse Addwish om.
Sæt flueben i “noindex, follow” (vi behøver ikke få denne side indexeret).
5. Opret blank side til Addwish søgeresultater
Her anbefaler jeg at lave en statisk side, der f.eks. hedder searchresults. Sæt et ekstrafelt til “addwishsearch=true” og bed så din udvikler checke på dette på page.html.
Send den URL du beslutter dig for til Addwish.
6. Oplys Addwish om, hvad der er i /basket
Denne simple kode skal du (eller rettere din udvikler) lige smide i din basket.html
<{if $basket}> <span style="display:none" class="addwish-basket" data-total="<{$total_price|number_format:2:",":"."}>" data-tax="<{$vat|number_format:2:",":"."}>" data-noshipping="0"> <{section name="i" loop=$basket}> <{assign var="product" value=$basket[i].product}> <span data-unit-price="<{$total_price|number_format:2:".":""}>" data-url="<($webshop->getUrl()}><{$product->getUrl()}>" data-productnumber="<{$product->getOwnId()}>" data-quantity="<{$basket[i].amount}>" > </span> <{/section}> </span> <{/if}>
Bemærk hvor der står data-noshipping=”0″ skal du indtaste din grænse for fri fragt. Så har du fri fragt over 399, så skal der stå data-noshipping=”399″.
Det var alt – du burde nu være good to go og skal så bare vente på om Addwish kan skaffe flere grunker i kassen til dig.
En meget vigtig detalje der skal ændres i ovenstående script på kvitteringssiden er, at der skal tilføjes en Addwish class til scriptet.
Lige nu hedder den:
span style=”display:none;”
Men den skal hedde:
span class=”addwish-conversion” style=”display:none;
Ellers modtager Addwish ikke data rigtigt.
og din “basket” kode skal også have en class tilføjet.
Den hedder, class=”addwish-basket”
Og på produktsiden skal der lige tilføjes en class der hedder “addwish-product”.
Vigtig info, Brian. Tak for det.
Jeg har opdateret blogindlægget.
På basket skal kode:
data-url=”getUrl()}>getUrl()}>”
rettes til:
data-url=”getUrl()}>/getUrl()}>”