Ryan Street is a Plus Certified Magento Developer who loves everything related to Magento, WordPress, PHP, and programming. When not turning coffee into code, he is usually spotted somewhere online answering questions and helping people.
Magento has a great import/export tool called Dataflow. It can be used to import and export just about any data you can think of, (if you know how to use it). It is driven by an xml based configuration layer, just like the rest of Magento. There is also another great feature in Dataflow, which is the profile history. This is a list of every action taken with a particular profile. It includes create, update, and run. Except one problem. It never seems to work.
No history ever shows up on any of the profiles. This includes all system profiles as well. Why? Let's get to the bottom of it, shall we?
Inside the database, there is a table called dataflow_profile_history. As you can see if you look inside of it, rows are being written whenever you perform an action. There is one problem: the user_id is always 0. Whenever Magento tries to load these up in the profile history tab, they do a join against this user_id and the admin_user table (to fetch the firstname and lastname fields). Since there is no user 0, and it's a join, it returns nothing at all. So there are a couple of things we can do to fix this. We can signify a left join or right join instead of an inner join, but the firstname and lastname fields will be blank. So, instead, why don't we just put the user_id into the table? Sound good? Let's go!
All the magic happens inside of app/code/core/Mage/Dataflow/Model/Profile.php.
if you go to the _afterSave() method, you will see some code.
Ecommerce sites are alive. They evolve and change over time as needs and requirements change. Sometimes the original intention of an attribute evolve into something else entirely. For some systems, the process of evolution can be painful. There is good news for Magento users, however. Magento makes it simple to adapt the platform as your business needs change and evolve.
Sometimes an attribute has a simple function, such as showing a brand on a product detail page. Eventually, it becomes evident that your customers want searching and sorting via brands, (and other comparable attributes) on your site. What do you do? Simple! Update the attribute! Magento is great like that.
To make Magento layered navigation attributes, simply do the following:
make sure it's dropdown, multiple select, or price.
Set "Use in layered Navigation" to (Filterable with results) or (filterable no results) on the admin page. (Programmatically: set is_filterable to 1 or 2.)
After either one, make sure to reindex the product attributes index, as it's what's used to create the layered nav.
If it's already part of an attribute set with products, you'll have to reindex the product flat data as well.
WordPress SEO is huge in the WordPress community. Basically, if you run into an article on blogging, you will run into an article on SEO shortly after. Take it from some of the people who know it best: here are some of the top WordPress SEO presentations on Slideshare. Continue reading →
Information graphics or infographics are graphic visual representations of information, data or knowledge intended to present complex information quickly and clearly[ref]. PHP infographics show different information about frameworks built on the language, comparisons against different languages, enterprise level applications, and job statistics. Here are the top PHP Infographics from around the web. Continue reading →
There is a whole world of great presentations out there on WordPress. There is actually an entire sub-topic on WordPress security. Many people have given a great deal of great presentations on WordPress security. Here are the top WordPress security presentations from Slideshare. Continue reading →
Which is better, money or passion? When speaking in reference to software development, it isn't just black and white.When it comes to hiring and retaining developers, the work provided must make a developer feel a sense of importance, challenge, and relevance. You have to look beyond just carrots and sticks if you want to know how to motivate developers. Continue reading →