Does magento enterprise edition needs cron to be set in order to run Indexing the following process.
URL Redirects
Stock Status
Catalog Search Index
Product URL Rewrites
Category URL Rewrites
Catalog Category/Product Index
Catalog product price
I have flat catalog for category enabled, but whenever I modify category attributes like meta data, the changes are not getting reflected in the front end. But whenever I disable flat catalog for category, the changes are reflected. Please guide.
There are 2 ways of configuring it in magento. One way will require crons to be set to run.
To configure it go to : System > Configuration > Advanced > Index Management
You can here configure if you wish the indexes to be updated on save or when scheduled
The on save process will slow down the update & creation of products. But as indicated will update every-thing when you modify a product in the Back office.
The scheduled uses MYSQL Triggers to detect changes and with the cron will update the flat tables that needs updating.
Related
suddenly, catalog product view page is not showing any product. only link is working but showing empty page.
What i need to do?
For simple product, check if you have status: enabled, inventory qty >= 1 and stock availability: in stock. For configurable product also check if you have status: enabled, visibility: catalog, search, and that you have at least one associated simple product active. Refresh indexes and cache, then check your frontend.
If you used a Dataflow Profile to run an import job from a CSV file and either the profile or the file contents were formated incorrectly, then some of your product attribute values are off and your products are not showing.
Also, check your browser console for errors that might break your HTML/CSS/JavaScript when the page is rendering. Check your browser extensions too, use different browser, different PC and/or different IP.
When I add a product with Magmi Datapump API, the product shows up in the Manage Products page but the product is not visible in the store.
I open the product in the Manage Products page for editing and just hit save and the product shows up in the store. Is Magento doing some stuff in the backend when I save the product manually?
Also, when I save the product manually I get this message:
The export profile-product relations has been updated.
This meesage was not there before.
You haven't mentioned the Magento version you're using, but I'll assume it's something in the vicinity of 1.8/1.9 CE or above.
What is Magmi?
Magmi is a third party package/utility that lets you import data directly into Magento. It reads the Magento configuration (model's table names, structure, types etc) and uses it to write directly to a MySQL database.
The purpose of this is that it bypasses the Magento ORM layer - this provides benefits in some situations, primarily speed. The drawback is that unless you're doing it because you know exactly why you're doing it and what the drawbacks of it are already, you miss things that happen with Magento's ORM - particularly event observers and pre/post write callbacks.
When you save a product
By default in Magento when you save a product in the admin interface it will write directly to the database through the ORM via the $model->save() operation.
This process by association (via _afterSave or event observers) does one of two things (if you have flat product tables enabled, which I assume you do):
Reindex the product flat tables synchronously/in the same request process
Schedule a reindex of the product flat tables to be performed via the cron
Depending on your Magento version the default setting of the product flat index will be important here. 1.9 introduces scheduling them by default I believe, whereas older versions would run them synchronously by default.
Enterprise edition: If you're running an enterprise version, MySQL table triggers should actually detect these product record changes automatically anyway, and schedule a reindex via the changelog tables (*_cl). For this question I'll assume you're using community edition.
What you're missing
Going back to Magmi - it writes directly to the database tables and so skips the ORM layer, which includes the commands for reindexing.
When you press Save in Magento admin on a product (and you say this makes your changes work) indexing is performed automatically for this product - synchronously. This behaviour indicates that your product flat index is set to be run "on save" rather than "on schedule". This is why you see the product on the frontend after saving it again in admin, purely because the Magento ORM triggers the reindex for that product which inserts it into the product flat table (e.g. catalog_product_flat_1). If you were aware, these tables are the tables that the frontend of Magento reads from when you have flat tables enabled - this is to avoid the complexity of the EAV model structure and the many joins (and configuration lookup/processing) that are required to read from the product (and other) models. Flat tables (indexed) have everything they need in long, but single rows.
What you need to do
So - all that being said - we can assume your product flat index is set to run on save.
What I would suggest primarily is that you change it to run "on schedule". You can do this from the Magento admin panel via System -> Index Management.
From here you need to enable the Magento system cron.
This will work if your CE (community edition) version has MySQL table triggers that update the changelog tables. You can check for this.
If not, you'll need to trigger a reindex manually. Depending on how you are calling Magmi, you could do this one of two ways:
Magmi via command line
Trigger a command line initiated reindex of product related data after you've run the Magmi import command:
php indexer.php --reindex catalog_product_price,catalog_url,catalog_product_flat
Magmi via PHP
If you're running Magmi from a thirdparty integration script which is not triggered from command line, or you don't want to add a CLI command like the one above afterwards (again, you don't mention these details), you can tack on a reindexing PHP script to the end of your Magmi datapump call:
foreach (...) {
$datapump->ingest($data);
}
$datapump->endImportSession();
// reindex now!
foreach (['catalog_product_price', 'catalog_url', 'catalog_product_flat'] as $indexCode) {
$process = Mage::getModel('index/indexer')->getProcessByCode($indexCode);
$process->reindexAll();
}
TL;DR
Ensure you reindex your product data after importing with Magmi, since it skips the Magento ORM which would normally take care of this for you.
We have recently updated a Magento site to version 1.12. Now the site wont retrieve up-sell products to product details page anymore. No custom code changes committed and no target rules specified. Still the up-sell product relations are visible in back end and in the catalog_product_link table as well. But I always get an empty result set to template\targetrule\catalog\product\list\upsell.phtml.
Anyone came across a problem like this?
Are there some other conditions that needs be satisfied in order to show up-sell products?
May by my database update scripts haven't run correctly. If so what are the tables/modules I should have a look at?
Did you run reindexing.
For product collections flat tables are used.This needs reindexing.
Also make sure you clear your cache after reiundexing.
I have a small problem with my Magento 1.5
The products is showing ok in the frontend, but on open a product in backend and press Save or Save and Continue, the frontend is not showing nothing.
I think that here is a problem with Index Management.
What can i do to no reindex the hole category or the hole database on save product ?
Any help is appreciated.
You can change the behavior of the index to not update on every product change, and only do it manually (i.e. via cronjob)
You can change that in the admin area at System / Index Management. Select the Product Index and choose "Change index mode" in the dropdown.
In Admin I created new subcats for my CyberPower category. When I search for BH1500 on our site for the product I get the whoops page. If I go step by step through our site to get to the product it works just fine. Why is the URL missing, or nor showing the link properly?
http://www.unipower.com/products/ups/cyberpower/bh-series.html, is what shows up.
However this
http://www.unipower.com/products/ups/cyberpower/bh-series/BH1500.html
should be the right link.
New to Magento, help me if you can!!
All you should need to do is run a reindex and flush your cache! Basically, your catalog URL rewrites are incorrect or out of date.
System > Index Management - Best to select all elements, choose the Reindex Data action and click the Submit button.
System > Cache Management - Flush Magento Cache