Magento – Währungssymbol ändern / formatieren

27. September 2010 at 18:46

Das Währungssymbol soll im Magento Shop geändert oder neu formatiert werden?

Einerseits geht das über System / Manage Currency Rates, dort kann z.B. gewählt werden ob ein Leerzeichen vor dem Währungs-Symbol angezeigt werden soll.

Alternativ über Veränderungen in der Template Datei:

kopiert die Datei

app/design/frontend/default/default/template/catalog/product/price.phtml

zum überschreiben in den eigenen Theme-Ordner (falls noch nicht vorhanden – don’t overwrite core files !)

Die einfache Quick & Dirty Methode (und für Performance nicht ideale) den String neu zu formatieren ist der folgende Code, alternativ überschreibt die Funktion toCurrency der Klasse lib/Zend/Currency.php bzw. Funktion formatTxt in /app/code/core/Mage (don’t overwrite core files!)!

<?php
$_new_price = str_replace('€', '€*', $_coreHelper->currency($_price,true,true));
 echo $_new_price;
?>

Firefox – nützliche Plugins für Webmaster & SEO

27. September 2010 at 11:49

Zur erstellung & Optimierung von Webpages empfehle ich folgende 2 Plugins für den Firefox:

Html Validator– w3c validation

Page Speed (benötigt firebug plugin)

Foxy SEO Tool – some SEO Features

CSS ReloaderCSS Reloader is an extension that allows you to reload all the CSS of any site without you have to reload the page itself.

FireQuery – a Firebug extension for jQuery development

SenSEO – SenSEO analyzes web pages and tells you how good they fulfill on-page Search Engine optimization criteria. SenSEO is a Firefox add-on integrated with the popular Firebug web development tool. The code is based on the YSlow extension.

Eventbug – diese Extension erweitert Firebug um ein „Events“-Tab und soll die Arbeit mit Event-Handlers erleichtern.

SeoQuake SEO– SeoQuake ist eine SEO-Extension für Webmasters, die mit Suchmaschinenoptimierung (SEO) und Internet-Promotion von Webseiten zu tun haben. SeoQuake ermöglicht die Erfassung und Analyse vieler wichtigen SEO-Parameter von einem Internet-Projekt

User Agent Switcher – Switch Agent to Mobile, GoogleBot, etc

Magento – Check if user is logged in – Prüfen ob ein user eingeloggt

22. September 2010 at 11:55

You want to check if a user is logged in with Magento? This is the solution:

<?php
if ($this->helper('customer')->isLoggedIn()) {
 echo("Authenticated user");
}
else {
echo("Anonymous user");
}
?>

Magento – Get the total price of items which currently in the cart – Gesamtpreis des Warenkorbes

22. September 2010 at 11:49

You need in Magento the total price of the items which currently in the shopping cart? This is the solution:

<?php echo $this->helper('checkout')->formatPrice(Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal()); ?>

PHP: SSL certificate problem – certificate verify failed

2. September 2010 at 17:34

Bekommt ihr eine Fehlermeldung ähnlich

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

so ist die  Ursache ein fehlerhaftes bzw. ungültiges SSL-Zertifikat. Läuft der Script local (z.B. während der Entwicklung) so könnt ihr den SSL-Check mit den folgenden Zeilen deaktivieren:

$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;

Magento: Redirect Funktionen

20. August 2010 at 17:42

Die ReDirect Funktionen findet ihr in der Mage_Core_Controller_Varien_Action class.

/* Redirect to certain url  */
_redirectUrl($url)

/* Redirect to certain path */
_redirect($path, $arguments=array())

/* Redirect to success page */
_redirectSuccess($defaultUrl)

/* Redirect to error page */
_redirectError($defaultUrl)

/* Set referer url for redirect in response */
_redirectReferer($defaultUrl=null)

/*  Identify referer url via all accepted methods (HTTP_REFERER, regular or base64-encoded request param) */
_getRefererUrl()

/* Check url to be used as internal */
_isUrlInternal($url)

For redirect URL:
$url = "http://example.com";
Mage::app()->getFrontController()->getResponse()->setRedirect($url);
For redirect with path and arguments:
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl($path, $arguments));

Magento: Session Variable – Set Unset Session Variable

20. August 2010 at 15:48

Es wird eine individuelle Variable mit den Namen „magentoTest“ angelegt. Der Wert für diese ist in diesem Fall „hello magento“.

$session = Mage::getSingleton('core/session', array('name'=>'frontend'));
$session->setMagentoTest('hello magento');

Abfragen der Werte:

$test = Mage::getSingleton('core/session')->getMagentoTest();

Session Variable löschen / unset

Mage::getSingleton('core/session')->setMagentoTest();

Nur eine bestimmte Session-Variable löschen:

Mage::getSingleton('core/session')->unsMagentoTest();

(Im Frontend die Customer oder Core Session benutzen. Im Backend die Adminhtml Session benutzen.)
Core Session:- Mage::getSingleton(‘core/session’)
Customer Session:- Mage::getSingleton(‘customer/session’)
Admin Session:- Mage::getSingleton(‘adminhtml/session’)

Magento – Form per Ajax Request absenden

26. Juli 2010 at 18:12

Hier ein Beispiel (Produkt zum Warenkorb hinzufügen) zum absenden eines Form per Ajax Request in Magento:

<script type="text/javascript">
 //<![CDATA[
 var productAddToCartForm = new VarienForm('product_addtocart_form');
 productAddToCartForm.submit = function(product_name) {
 if (this.validator.validate()) {
new Ajax.Request($('product_addtocart_form').action, {
 parameters: Form.serialize($('product_addtocart_form'), true),
 area: $('product_addtocart_form'),
 onComplete: function (transport) { }
 });
}
 }.bind(productAddToCartForm);
 //]]>
</script>

Alternative Code aus dem Newsletter

<script type="text/javascript">
//<![CDATA[
function submitSubscribe() {
 new Ajax.Request('<?php echo Mage::getBaseUrl() ?>newsletter/subscriber/newajax/',
 {
 method:'post',
 parameters: $('newsletter-subscribe').serialize(true),
 onLoading: function(){
 $('subscribe_update_div').show();
 $('subscribe_update_div').innerHTML = "<?php echo $this->__('Sending subcribe request ...'); ?>";
 },
 onSuccess: function(transport){
 var response = transport.responseText.evalJSON();
 $('subscribe_update_div').innerHTML = response.message;
 },
 onFailure: function(){
 $('subscribe_update_div').innerHTML = "<?php echo $this->__('Something went wrong ...'); ?>";
 }
 });
 }
//]]>
</script>

Magento: Statischen CMS Block im Template ausgeben

10. Juli 2010 at 16:27

Ihr könnt in Magento ein statischen CMS Block wie folgt im template einbinden.

Ein Beispiel zum einbinden über die entsprechende layout.xml :

<layout>
<asdf_xy_zzz>
<reference name="content">
 <block type="cms/block" name="cms_store_check">
 <action method="setBlockId"><block_id>store_check</block_id></action>
 </block>
 </reference>
 </asdf_xy_zzz>
</layout>

Direkt einbinden im Template:

echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_id')->toHTML();?>

Einbinden im CMS:

{{block type="cms/block" block_id="your_id" template="cms/content.phtml"}}

 

Magento: Über ein url-key einer Kategorie ein Link erzeugen

8. Juli 2010 at 20:36

Im Admin-Backend ist es möglich ein url-key für z.B. Kategorien zu setzen. Möchtet ihr jetzt automatisch von Magento anhand dieser ein Link erzeugen, könnt ihr das wie im folgenden Beispiel:

<a href="<?php echo Mage::getModel('catalog/category')->load(Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('url_key', 'all-bags')->getAllIds())->getUrl(); ?>" title="All bags" ><?php echo $this->__('All bags'); ?></a>