/ / skrypt php dla magento - php, magento, kategoria

skrypt php dla magento - php, magento, category

Mam sklep magento z ponad 3000 produktów i 1000 kategorii.

Category I
Category 1
Category 2
Category II
Category 3
Category 4

Moim problemem jest to, że wszystkie produkty są tylko wnajgłębsze kategorie. Na przykład: produkt z kategorii 3 musi być również w kategorii II, ale nie jest. Czy istnieje sposób, aby to zrobić za pomocą skryptu php ze wszystkimi produktami?

Z góry dziękuję!

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz utworzyć prosty moduł, który będzie posiadał pojedynczy skrypt do instalacji danych z czymś takim w środku:

$categoryi = array(6);
$category2 = 20;

$category = Mage::getModel("catalog/category")->load($category2);
/* @var $category Mage_Catalog_Model_Category */

$productsCollection = $category->getProductCollection();
/* @var $productsCollection Varien_Data_Collection_Db */

$products = $productsCollection->getItems();
/* @var $products array of Mage_Catalog_Model_Product */

foreach($products as $product) {
/* @var $product Mage_Catalog_Model_Product */
$categories = $product->getCategoryIds();
$categories = array_unique(array_merge($categories, $categoryi));
$product->setCategoryIds($categories);
$product->save();
}

Gruntownie, $categoryi to kategoria, którą chcesz przypisać do swoich produktów. $category2 to kategoria, z której można pobrać produkty.

Ten skrypt jest tylko przykładem. Będziesz musiał go zmodyfikować, aby pasował do identyfikatorów kategorii i być może dodać pętlę, aby działała we wszystkich kategoriach!


0 dla odpowiedzi nr 2

Wystarczy aktywować opcję Zakotwicz w kategoriach, aby wyświetlić na niej produkty kategorii podrzędnych.


0 dla odpowiedzi № 3

Nie sądzę, aby do tego potrzebne było jakiekolwiek kodowanie. Możesz spróbować następujących rzeczy:

  • Otwórz kategorię 1
  • Przejdź do ustawień wyświetlania
  • Ustaw „Is Anchor” z „No” na „Yes”
  • Zapisz kategorię 1
  • Przejdź do zarządzania indeksem
  • ponownie indeksuj element indeksu „produkty kategorii”

Sprawdź frontend. Produkty z podkategorii powinny być teraz wyświetlane także w kategoriach nadrzędnych. Jeśli to działa, zmień je dla wszystkich kategorii. Lub utwórz skrypt, aby zamiast tego zaktualizować to ustawienie kategorii.

Powodzenia!