आपको लगता है कि मॉड्यूल के व्यवस्थापक नियंत्रक के लिए स्रोत पर एक नज़र डालें, तो आप कोड वे प्रदर्शन करने के लिए का उपयोग देख सकते हैं एक जन
#File: app/code/local/Mage/Imaclean/controllers/Adminhtml/ImacleanController.php
public function massDeleteAction() {
$imacleanIds = $this->getRequest()->getParam('imaclean');
if(!is_array($imacleanIds)) {
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Please select item(s)'));
} else {
try {
$model = Mage::getModel('imaclean/imaclean');
foreach ($imacleanIds as $imacleanId) {
$model->load($imacleanId);
unlink('media/catalog/product'. $model->getFilename());
$model->setId($imacleanId)->delete();
}
Mage::getSingleton('adminhtml/session')->addSuccess(
Mage::helper('adminhtml')->__(
'Total of %d record(s) were successfully deleted', count($imacleanIds)
)
);
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
}
}
$this->_redirect('*/*/index');
}
तो हटा सकते हैं, इस नियंत्रक कार्रवाई एक नंबर को स्वीकार करता है "imaclean/imaclean" मॉडल आईडी के, हटाए जाने के लिए इन आईडी का उपयोग करता है। तो, कि कार्रवाई में कुंजी कोड
$imacleanIds = $this->getRequest()->getParam('imaclean');
$model = Mage::getModel('imaclean/imaclean');
foreach ($imacleanIds as $imacleanId) {
$model->load($imacleanId);
unlink('media/catalog/product'. $model->getFilename());
$model->setId($imacleanId)->delete();
}
तो है, आप कुछ के साथ
तरह
//itterates through all 'imaclean/imaclean' models in the database
$models = Mage::getModel('imaclean/imaclean')->getCollection();
foreach ($models as $model) {
unlink('media/catalog/product'. $model->getFilename());
$model->setId($model->getId())->delete();
}
अंत में एक स्टैंड-अलोन संस्करण में उपरोक्त कोड दोहराया सकता है, यह एक "imaclean/imaclean तरह लग रहा है "मॉडल को ट्रैक रखने के लिए उपयोग किया जाता है कि कौन सी छवियों की आवश्यकता नहीं है। ऐसा लगता है कि मॉड्यूल इन्हें बनाता है (यानी अप्रयुक्त छवियों के लिए एक चेक चलाता है), नए सहायक में compareList
डिफ़ॉल्ट सहायक के विधि के साथ।
public function newAction(){
Mage::helper('imaclean')->compareList();
$this->_redirect('*/*/');
}
तो, हम हमारे स्क्रिप्ट की शुरुआत है, साथ ही जिस वास्तविक Magento प्रारंभ करने के लिए है कि जोड़ सकते हैं, जो हमें देना चाहिए कि हम क्या जरूरत है।
#File: cleanup.php
require_once "app/Mage.php";
$app = Mage::app("default");
Mage::helper('imaclean')->compareList();
$models = Mage::getModel('imaclean/imaclean')->getCollection();
foreach ($models as $model) {
unlink('media/catalog/product'. $model->getFilename());
$model->setId($model->getId())->delete();
}
आपको कम से कम शुरू करना चाहिए। सौभाग्य!
मैं इसके लिए एक मॉड्यूल का उपयोग नहीं करना चाहता क्योंकि बहुत से मॉड्यूल व्यवस्थापक को भ्रमित करते हैं। पुरानी छवियों को हटाने के लिए मुझे एक और डीबी टेबल की भी आवश्यकता नहीं है। मैं केवल मॉड्यूल से आवश्यक कोड लेने और परिणाम पोस्ट करने का प्रयास करूंगा। धन्यवाद – pablo
क्या आप कभी समाधान के साथ आए थे? – styks
@Alan तूफान अगर हम cleanup.php से ऊपर का उपयोग करते हैं। क्या यह हमारी दूसरी छवि को प्रभावित करता है? या केवल उन छवियों को हटा दें जो मौजूद हैं लेकिन इसका उत्पाद हटा दिया गया है? – MageDev