Here is a little something I put together using a simple “search/replace all” functionality. It’s a cheat sheet (list) of event names you can hook into in the Magento.
This PDF document was created 31/03/2009 on Magento version 1.3.0.
Hope you find it useful.
Some of you may encountered this problem. You install new Magento extension through downloader, try to access its configuration settings and Magento throws “Access denied” page at you. Although you’re administrator of the system.
Last week I had a request to add new custom layout for few cms pages in one Magento shop. It’s really useful for different static pages of your shop.
There is actually no such thing as free website promotion unless you are really lucky. You always have to invest at least some time and effort, and as we all know time equals money which means no promotion is actually free.
However, if you are looking into ways to promote your website online while not spending any money, here are some ways you can do it. Most of these are generally well known but you might find something new and useful.
I see my coworker and friend Željko Prša made a nice little post on Adding a new language in Magento so I figure I’ll jump with a little Drupal to Magento integration trick concerning link issues and multilingual sites. Here is a piece of code you can use in your Drupal templates to do the proper switching from Drupal site to Magento while keeping the selected language of site. Note, this tweak assumes you have the desired language setup on both Drupal and Magento side.
If you have an application that should save for example state of a switch and you don’t want use database for that small request you can simply add instance of NSUserDefaults class in your implementation. It is easy job, see below;
As anything in Magento adding a new language is something that requires a certain procedure which we will explain right now and for future reference.
What is etherpad? It’s an real-time collaborative text editing online application.
As they state on their site “Etherpad” is a “Really real-time collaboration”. That means no delay between writing or editing your shared document. It has built in versioning, chat and requires no registration for anyone in the free version.
If you are looking for an easy solution for running multiple IEs (IE6 standalone, IE7 standalone and IE8 standalone.) or any other popular browsers versions side by side AND all of that right from your browser, check out the Xenocode’s page or read on before jumping off.
Zend Framework comes with interesting and useful components when it comes to authentication and authorization of users. Zend_Auth is one such component whose task is to handle authentication.
I made a little screencast on topic of Zend_Auth database table authentication. Screencast is video only, plus some visual pointers, no audio. Hope some of you find it useful as starting point.
One of the first things that really confused me when i start using Magento is Magento connect. I just started learning things, so i was looking for some plugin examples. I visited Magento connect page with extensions and looked for download button, instead i found “Get extension key” one.
If i recall correctly their What is this? explanation wasn’t the same back then .. or i was just so terrified of Magento at start that i didn’t understand anything at that point 😉 I knew i need to paste that key somewhere, in something they called my Magento connect manager or Magento downloader, but i didn’t understand where it is.
For all those in open source web application development, like myself, LAMP/WAMP is well known term, especially if your development is based on PHP. Imagine WAMP with commercial support available and you what to you get? You get Zend Core. I don’t mean to be harsh neither to WAMP or Zend Core with statements like these. I’m simply trying to explain as short as possible, to those interested in Zend Core what it actually is.
Google is launching it’s Interest Based Ads into beta. These ads are a form of behavioral targeting ads and are being tested by limited number of selected advertisers. At Google, they strive to serve as relevant ads as possible to the users of Internet and that’s why contextual advertising is not enough anymore. They decided to take it one step further beyond and step into the world of behavioral targeting.
I love Zend Framework. Sometimes it can really be overhead but most of the time it’s really nice working in well organized, documented framework. One of the components I use relatively often iz Zend_Auth component. Zend Framework documentation is quite rich so I wont get into explaining how to use Zend_Auth. There is one thing that bothered me in Zend_Auth, and that’s persistent storage. Zend_Auth (in the latest version 1.7.6, as of time of this writing) supports only Session state as it’s storage. What I needed is full database session storage.
Here is one solution on how to add breadcrumbs to pages in Magento that by default do not have breadcrumbs. Recently we had a client that requested a basic breadcrumb to be shown on pages that Magento does not serve breadcrumbs.
* CUSTOM BREADCRUMBS
* Adds url breadcrumbs for pages that do not have breadcrumbs by default
<?php if(is_null($crumbs)): ?>
* On some servers use ->getServer('PATH_INFO')
* and on some ->getServer('ORIG_PATH_INFO')
$urlRequest = Mage::app()->getFrontController()->getRequest();
$urlPart = $urlRequest->getServer('ORIG_PATH_INFO');
$urlPart = $urlRequest->getServer('PATH_INFO');
$urlPart = substr($urlPart, 1 );
$currentUrl = $this->getUrl($urlPart);
//$controllerName = Mage::app()->getFrontController()->getRequest()->getControllerName();
//$controllerName = ucfirst($controllerName);
$controllerName = str_replace("/", " ", $urlPart);
$controllerName = str_replace("_", " ", $controllerName);
$controllerName = str_replace("-", " ", $controllerName);
$controllerName = ucfirst($controllerName);
<strong class="float"><?php echo $this->__("You're currently on: ") ?></strong>
<a title="<?php echo $this->__('Go to Home Page') ?>" href="<?php echo $this->getUrl() ?>"><?php echo $this->__('Home') ?></a>
<li> / </li>
<li class="<?php echo strtolower($controllerName) ?>">
<strong><?php echo $this->__($controllerName) ?></strong>
<?php endif; /* END OF CUSTOM BREADCRUMBS */ ?>