Custom attribute bij grouped products tonen

Custom attribute bij grouped products tonen

Rene Donkers No Comments

Deze klant wilde een eigen omschrijving bij de grouped products om de oorspronkelijke titel van het product niet te hoeven aan te passen. De grouped products worden hier vooral gebruikt als de verschillende variaties van die producten. De tekst bij de verschillende simple product is te lang waardoor het onoverzichtelijk wordt op de grouped product pagina.

Ik maak een attribute aan met een tekst veld en activeer die voor de product listing. Ik voeg attribute toe in de betreffende attributenset. Hier kan men de tekst invullen die getoond moet worden bij de een simple product die op de grouped product pagina getoond gaan worden.

Om er voor te zorgen dat er altijd iets getoond word, creer ik een if statement die het attribute alleen toont als deze ingevuld is. Anders wordt de productnaam getoond.

<?php $GroupVar= $_item['groupedvar'] ?>
<div class="info">
<h3 class="name">
<?php if (empty($GroupVar)) {echo $this->escapeHtml($_item->getName()) ;}
else {echo $GroupVar ;
}
?></h3>

Uit eindelijk resulteert dat een een overzichtelijke product pagina’s bij de grouped product’s

Static block invoegen aan de hand van een attribute value

Rene Donkers No Comments

In dit project moet een disclaimer ingevoegd worden bij verschillende producten. Door middel van het gecreerde attribute ‘disclaimer’ geef ik het product een value mee. Bij value 1 moet block 1 getoond woorden en bij value 2 block 2.

In het bestand view.phtml in [theme]/catalog/product/view  onder de regel

<?php echo $this->getChildHtml('product_additional_data') ?>

plaats ik de onderstaande code:

<?php switch ($_product->getAttributeText('disclaimer')) {
case '':
echo $this->getLayout()->createBlock('cms/block')->setBlockId('disclaimer-1')->toHtml();
break;
case '':
echo $this->getLayout()->createBlock('cms/block')->setBlockId('disclaimer-2')->toHtml();
break;}
?>

 

Check of static block actief is en publiceer in CMS

Rene Donkers No Comments

Static block’s zijn heel makkelijk om te gebruiken op CMS pagina’s in Magento.  Met de onderstaande code controleer je of een Static-Block actief is en of deze getoond moet worden op de betreffende pagina door middel van een echo.


<?php if(Mage::getModel('cms/block')->load('static_block_name')->getIsActive()) { ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('static_block_name')->toHtml(); ?>

Geen footer en header op de check-out pagina

Rene Donkers No Comments

Om de klant niet af te leiden bij het afrekenen zetten ik op de check-out pagina de footer en de header uit.  Deze shop gebruikt onestepcheckout van idev.  Neem de onestepcheckout.xml uit app/design/frontend/base/default/layout/ en kopieer deze naar app/design/frontend/{package}/{theme}/layout/
Plaats in de sectie:

 <onestepcheckout_index_index>
<remove name="footer"/>
<remove name="header"/> 

Hiermee schakel je de volledige header en footer uit op de onestepcheckout pagina. Je kan de ook gedeeltes van de header uitschakelen op deze afrekenpagina.

Plaats dan in de sectie van onestepcheckout.xml :

<onestepcheckout_index_index>
<reference name="head">
            <remove name="top.search" />
            <remove name="top.links" />
            <remove name="top.menu" />
            <remove name="store_language"/>

Gebruik je de onepagecheckout extensie van iwd, neem de dan iwd_opc.xml en plaats de code in

<opc_index_index translate="label">
<remove name="footer"/>
<remove name="header"/> 

Geen static blocks in Magento 1.9.2.2

Rene Donkers one comments

Na het updaten van de Magento shop tot de versie 1.9.2.2 in verband met de sercurity patch SUPEE-6788 merkte ik dat een aantal static block’s niet meer werden getoond op CMS pagina’s. In de PHP log bestanden kwam de melding

Notice: Undefined variable: block  in /app/code/core/Mage/Core/Model/Email/Template/Filter.php on line 187

De oorzaak hiervoor zit in de  patch of update van Magento. Vanaf deze versie (1.9.2.2) moeten static block’s gewhitelist worden in Magento. Ga naar System => Permissions => Block en voeg hier de shortcode van het block toe dat getoond mag worden.
block-permission

 

 

Neem bij voorbeeld de jQuery Nivo Slider. De short code hiervoor is {{block type=”youama_slider/slider” name=”youamaslider” alias=”youamaslider” template=”youama/ slider/ slider.phtml”}}
Je moet het block  youama_slider/slider whitelisten in Magento.

nivo-block-allow

 

 

SUPEE-6788

Rene Donkers one comments

Magento heeft een dringende veiligheids waarschuwing uitgebracht voor Magento webshops. Kwaadwillenden kunnen via extenties de admin URL achterhalen en daar dan brute-force attac’s oplos laten. Het dringende advies is dan ook om de magento installatie te updaten naar 1.9.2.2 Door alleen is deze update te uitvoeren wordt het veiligheids lek niet verholpen. In de configuratie van Magento moet de beveiliging (Admin routing compatibility mode for extensions) nog uitgezet worden, maar dan beginnen de problemen. Veel extenties zijn (nog) niet compatible en werken niet als de functie wordt uitgezet.

Het probleem zit onder andere in het aanroepen van de custom admin URL, deze code zal moeten aangepast worden in de extentie. Je kan de ontwikkelaars vragen om een nieuwere versie van de code waar dit is aangepast of je kan zelf aan de slag gaan om dit te gaan aanpassen. Lees hier het technical sheet van Magento.

<admin>
<routers>
<custom_module>
<use>admin</use>
<args>
<module>custom_module</module>
<frontName>custom_module</frontName>
</args>
</custom_module>
</routers>
</admin>

moet aan gepast worden tot:

<admin>
<routers>
<adminhtml>
<args>
<modules>
<custom_module
after="Mage_Adminhtml">CustomModule_Adminhtml</custom_module>
</modules>
</args>
</adminhtml>
</routers>
</admin>

Gelukkig is er al een toolbox voor ontwikkelaars om te helpen. Als je shell toegang hebt op de server, kan deze tool je prima helpen om de knelpunten te lokaliseren. Plaats de bestanden in de [Magento]/shell en analyseer je bestanden door middel van het commando

php -f fixSUPEE6788.php -- analyze 

In de [magento]/var/log/ wordt een logbestand neer gezet met de rapportage waarmee je aan de slag kan om de verschillende extensies aan te passen. Vergeet niet een back-up te maken.

 

Googlebot kan geen toegang krijgen tot CSS en JS bestanden

Rene Donkers one comments

Google stuurt sinds enige tijd aan alle webmasters van Magento shops die een Google Search Console hebben de melding dat hun crawler GoogleBot geen toegang kan krijgen tot Javascript en of CSS bestanden.

Google geeft meldingen aan deze webmasters, omdat bijna een jaar geleden, Google begonnen is met het renderen van volledige pagina’s. In oktober 2014 heeft Google zijn richtlijnen voor Webmasters gewijzigd en alle webmasters geïnformeerd om deze bestanden niet te blokkeren. Want als Google geen toegang heeft tot het volledig inzien van je website, kan Google je website niet goed beoordelen, wat kan leiden tot een lagere positie in Google.

Om de Google toegang te geven tot de JS en CSS bestanden is het noodzakelijk om het robots.txt bestand aan te passen.  In Google Search Console kan je met de ‘Fetchen als Google’ functie  achterhalen welke bestanden geblokkeerd worden voor Google .
googlebot

Login as customer from admin

Rene Donkers No Comments

customer_page

Soms kan het handig zijn om via de admin van Magento als een klant in te loggen om bijvoorbeeld alvast het account in te richten voor de klant. De extentie Login as customer van  Widgento is een prima en veilig tool voor je webshop. Via de klant gegevens in de backoffice is er een knop waarmee je in Magento kan inloggen alsof je het wachtwoord weet. Je kan hiermee bijvoorbeeld een favourietenlijst vast invullen of een shoppingcart vullen en klaar zetten. De laatste versie komt zelfs met een logmodule waarin alle handelingen worden vast gelegd om misverstanden te voorkomen.

widgentoDe Russische maker van deze extentie is snel en precies, enkele uren na de SUPEE-6285 patch kan hij al met een update om het probleem met userrights te verhelpen.

 

IE 4095 selectors limit in Magento

Rene Donkers 2 comments

screenshot-selectors-no-commaTijdens het testen van een Magento webwinkel bleek dat de website in IE 8 en IE9 totaal vreemd werd weergegeven. Op 1 of andere manier werden gedeeltes van de CSS en JS bestanden niet geladen. Iets wat bij het crossbrowser testen niet naar bovenkwam. Het bleek te gaan om Internet Explorer’s 8 en 9 4095 selectors limit dat optreedt bij Magento als je de CSS en JS bestanden laat samenvoegen door middel van “merge CSS files” en “merge javascript files” instelling. Deze optie wordt vaak geadviseerd om Magento sneller te maken. Deze versie van Internet Explorer geeft niet meer dan 4095 rules weer van javascript en CSS bestanden en als je Magento deze bestanden laat samenvoegen (mergen) dan zit je daar al gauw op.

 

Magento SUPEE-6285 patch

Rene Donkers one comments

Dinsdag 7 juli heeft het Magento team een kritieke patch uitgebracht om te voorkomen dat kwaadwillende klanten informatie uit een Magento webwinkels kunnen halen. Deze patch veroorzaakt mogelijk issues met plugins voor backend gebruikers. De foutmelding is dan “Access denied” waardoor je opeens niet meer bij de plugin pagina kunt komen!

De standaard ACL logica binnen Magento is omgezet, waardoor de plugin leveranciers dit moeten wijzigen in de code indien ze dit niet al netjes gedaan hebben.