Intereting Posts
Apache нерестилищ зомби процессы при вызове php Функция PHP Count с ассоциативным массивом Эхо HTML с PHP внутри Может ли OCI_CONNECT вызвать ORA-01438: значение, превышающее указанную точность, разрешено для этого столбца? Как использовать мой сервер в качестве прокси для загрузки файлов через PHP? mysql_insert_id, не возвращает последний вставленный id, когда я помещаю его в функцию Запретить cookie при запуске скрипта из CLI в codeigniter Code Igniter – как вернуть ответ Json от контроллера Измените html формы контактной формы ПОСЛЕ проверки и отправленной почты Как я могу получить только атрибут alt тега ap в PHP? Вернуть результаты поиска изображений Google в HTML с помощью PHP Zend Framework: правильный способ взаимодействия с базой данных? Юникод-символы от JSON.stringify к действительным символам юникода Использование if (! Empty) с несколькими переменными не в массиве Продолжать скрывать поля ввода HTML при обновлении страницы?

Как удалить продукт из категории magento 1.5

Я немного новый в Magento, и я работаю над заданием cron, которое удаляет продукт в определенной категории после назначенной даты. С работой и помощью Stackoverflow я придумал этот код:

require_once 'app/Mage.php'; Mage::app(); $date = Mage::getModel('core/date')->date('Ymd H:i:s'); $collection = Mage::getModel('catalog/product')->getCollection(); $collection->addfieldtofilter('news_to_date', array(array('to' => $date))); foreach($collection as $product) { $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED); $product->save(); } 

Это проверяет фактическую дату и сравнивает ее с датой продуктов. Если дата прошла, продукт отключен. Мне нужно, чтобы вместо отключения продукта код должен удалять продукт категории (в этом случае категория «Продажи»)

Надеюсь, вы, ребята, можете мне помочь!

Заранее спасибо!

Вам нужно получить все идентификаторы категорий из продукта, а затем удалить идентификатор категории продаж из массива идентификаторов категории и вернуть их обратно в продукт.

Например, идентификатор категории продаж – 5.

 foreach ($collection as $product) { //Getting all category ids $ids = $product->getCategoryIds(); //Searching array key with value 5 and removing from array if (($key = array_search(5, $ids)) !== false) { unset($ids[$key]); $product->setCategoryIds($ids) $product->save(); } } не foreach ($collection as $product) { //Getting all category ids $ids = $product->getCategoryIds(); //Searching array key with value 5 and removing from array if (($key = array_search(5, $ids)) !== false) { unset($ids[$key]); $product->setCategoryIds($ids) $product->save(); } } 

PS Вы можете использовать функциональные возможности magento cron, чем вам не нужно:

 require_once 'app/Mage.php'; Mage::app(); 

Пожалуйста, сделайте следующее:

Сначала перейдите в меню «Каталог» -> «Управление продуктами» -> нажмите на название вашего продукта -> Категории (левая панель меню) -> см. Название правой стороны и не отмечена категория.