This article will explain how to add upsell, cross sell and related products programmatically to Magento. One of practical examples would be data migration from some other ecommerce system to Magento. You can read a nice article on how to add upsell, cross sell and related products from administration here. It explains what all these product relations mean and where are they used on the site.Load existing product data
At the beginning, there is a product that need to be updated with product relations. It needs to be loaded as usual.$product = Mage::getModel('catalog/product')->load($productId);
This loaded product model will not contain information about already existing upsell, cross sell and related products. If loaded product doesn’t have previous upsell, cross sell or related products set, it can be saved immediately with new data. But, if…
100% of the proceeds will benefit Women Who Code
Check out this 5-point checklist to assess your holiday readiness
We’re very excited to announce that Inchoo has just leveled up to a Google Premier Partner status, which placed us among the top trustworthy PPC experts in the world in the eyes of the almighty Google. How did we deserve it? Well, with Google, You can never be certain, but there are a few key factors that could be the reason for this exciting upgrade. Here’s our short story on becoming a Google Premier Partner.1. We’re Adwords certified
Our team demonstrated a great knowledge on Adwords by passing the Certification exams. We have not one, not two, but 29 individual certificates!
Passing the certifications didn’t…
We released today n98-magerun version 1.99.0. The release contains one important bugfix which solves autoloading issues introduced with V1.98.0.
The new release contains one new feature. It is now possible to run n98-magerun in Magento Developer Mode by adding the global option “–developer-mode” to a call.
Prevent your brand from being a yuletide yawn
A new Magento 1 security patch SUPEE-10266 was released on September 14th of 2017. It closes the ability of an admin user remote code execution, protects from data leaks and fixes some minor issues. Let’s check the main code changes that are included in the patch.1. Admin indirect logging in.
Minor adjustment to the Mage_Admin_Model_Session logs admin user out if the user session data was extracted from the admin RSS. Basically the Mage_Rss_Helper_Data::authAdmin will add an additional flag “indirect_login” to the admin session data. This way, the Mage_Admin_Model_Session will check for that flag during the constructor call with Mage_Admin_Model_Session::logoutIndirect method.2. Injection escape.
A few places with dynamic content were updated with the escapeHtml method call. Those places are:
But why is this new eCommerce strategy dividing the fashion industry?
Laravel 5.5 just recently got released, and ships with the current stable version of Bootstrap, which is version 3. However, Bootstrap 4 recently hit beta, and should now be solid enough to start development with, especially for new Laravel projects that are just now getting started.
Bootstrap 4 can be easily enabled following these steps. First, remove the Laravel-supplied version of bootstrap-sass from npm:
npm uninstall --save-dev bootstrap-sass
Then install the new version of bootstrap from npm. Tether is no longer used with Bootstrap 4, however it is replaced with Popper.js, so let's go ahead and install the popper.js library too:
npm install --save-dev bootstrap@^4.0.0-beta popper.js
The default description, default title, and default keywords input fields in Magneto administration used to create SEO issues for store owners ever since version 1.X of Magento. Magento versions 2.X are no exception to this issue.Why is this an issue?
The SEO best practice for meta descriptions is to have a unique meta description for each URL on your website summarizing the content of that exact URL. When dealing with extremely large data sets it’s usually impossible to write one for every URL so online stores resort to writing a unique one just for category pages, CMS pages, and some very important product pages and leave the rest of them blank.
The issue is, when a custom meta description is left blank in Magento (and in Magento 2), the system defaults to default meta description values. For this reason you’ll see the following in source code:<meta name="description" content="Default Description"/> <meta name="…
Digital devices and channels are constantly evolving, and so are your customers. The way shoppers search online is changing every day. So to stay competitive in the age of omnichannel commerce, you need to create content that delights, engages, and enables shoppers to purchase across multiple devices.
You don’t have to be an SEO expert (or even hire one) to improve your site’s search engine visibility. Here are some tips to stay ahead of the constantly evolving world of SEO.Do’s
⇒ Do write your own description
We’re looking for the next big thing. What are you working on?
Uber and Amazon have given customers unbelievable delivery times and total transparency. But what’s next?
The hottest thing since responsive web design
Insights from The Forrester Wave™: B2B Commerce Suites For Midsize Organizations, Q3 2017
Magento2 came with very “controversial” frontend architecture approach. We will not discuss that but we will try to explain how to empower current Magento2 UI library to achieve most common frontend task.
First, what is Magento UI library and where to find it. As intro text explain:
The Magento UI library is a flexible modular Magento frontend library that is designed to assist Magento theme developers. It employs a set of mixins for base elements to ease frontend theme development and customization. The Magento UI library offers the following characteristics for those who develop or customize Magento themes.
Ok, sound great, what we can expect from this library? As further text says,
The library provides the ability to customize all of the following user interface elements:
This entry is part 1 of 1 in the series Just Enough C for PHP. This is the first post in the series. The funny thing about the C programming language is, if you look hard enough, you can see how it maps out the next 40 years of professional programming. The syntax is the most obvious thing — functions, variables, nested braces, conditionals, loops, indexed lists (i.e. arrays), indexed dictionaries (structs), variable references (pointers), functions-as-variables (function pointers). These are things we all take for granted now, but in 1978 there was no clear consensus on what sort of base […]
According to the new native config:set command in the upcoming Magento 2.2 version we need to rename our n98-magerun2 command “config:set” to “config:store:set”.
We also rename the “config:delete” and “config:get” commands to have a consistent names.
Please note that you have to change custom scripts using “config:set”, “config:get” and “config:delete” to be compatible with the next n98-magerun2 release.
Further informations about the Magento 2.2 changes can be found in the developer docs: http://devdocs.magento.com/guides/v2.2/config-guide/deployment/pipeline/