İçindekiler
- Giriş
- Mağaza Özel Dışa Aktarmaların Gerekçesini Anlama
- Mağaza Filtresi Eklemenin Magento İhracatına Yönelik Adımlar
- Sonuç
- SSS
Giriş
Magento'da ürün verilerinin verimli bir şekilde yönetimi ve özelleştirilmesi, etkili bir e-ticaret platformunun sürdürülmesi için önemlidir. Bir mağaza filtresi eklemek, tüccarların seçilen bir mağazaya özgü ürün verilerini ihraç etmelerine olanak tanıyan sistem dışa aktarma işlevselliğine bir ortak özelleştirme görevi yapar. Bu özellik, her mağazanın farklı ürünlere, fiyatlara veya diğer özelliklere sahip olabileceği çoklu mağaza kurulumlarında özellikle değerlidir.
Bu kapsamlı kılavuzda, Magento sistem dışa aktarma işlevselliğine bir mağaza filtresi eklemenin sürecini adım adım anlatacağız. Bu kılavuzun sonunda, ihracat verilerinizin seçilen mağazayla tam olarak uyumlu olmasını sağlamak için gereken temel adımları anlamış olacaksınız.
Mağaza Özel Dışa Aktarmaların Gerekçesini Anlama
Magento, tek bir kurulum altında birden fazla mağazayı yönetmek için sağlam bir platform sağlar. Her mağaza benzersiz ürün kataloglarına, fiyat yapılarına ve promosyonlara sahip olabilir. Verileri dışa aktardığınızda, genellikle yalnızca belirli bir mağazayla ilgili verileri filtrelemeniz ve ihraç etmeniz gerekir.
Bir mağaza filtresi eklemenin dışa aktarma işlemine zaman kazandırabileceği ve hataları azaltabileceği avantajlar arasında şunlar vardır:
- Belirli mağazalar için hedeflenmiş veri çıkarmanın sağlanması
- Diğer mağazalardan ilgili olmayan verilerin içermemesi
- Bireysel mağaza yöneticileri için stok yönetimi ve analizinin basitleştirilmesi
Mağaza Filtresi Eklemenin Magento İhracatına Yönelik Adımlar
Magento'yu sistem dışa aktarmayla ilgili mağaza filtresi eklemek için birkaç adım gereklidir. Aşağıda, süreci yönetilebilir görevlere böldük ve sorunsuz bir uygulama sağlamak için bunları açıkladık.
1. Özel Bir Modül Oluşturma
Öncelikle, Magento kurulumunuzda özel bir modülünüz olup olmadığından emin olun. Bu modül, mağaza filtresi eklemek için gereken tüm geçersiz kılma ve özelleştirmeleri yönetecektir.
// registration.php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Vendor_Module',
__DIR__
);
2. İhracat Formunu Geçersiz Kılma
Sonraki adım, ihracat formunu geçersiz kılarak bir mağaza filtresi alanı eklemektir. Bu değişiklik, kullanıcıların veri ihracatında bir düşürme menüsünden bir mağaza seçmelerine izin verecektir.
// app/code/Vendor/Module/Block/Adminhtml/Export/Edit/Form.php
namespace Vendor\Module\Block\Adminhtml\Export\Edit;
use Magento\Backend\Block\Widget\Form\Generic;
class Form extends Generic
{
protected function _prepareForm()
{
$form = $this->_formFactory->create();
$fieldset = $form->addFieldset('base_fieldset', ['legend' => __('İhracat Seçenekleri')]);
$fieldset->addField(
'store_id',
'select',
[
'name' => 'store_id',
'label' => __('Mağaza'),
'title' => __('Mağaza'),
'values' => $this->getStoreOptions()
]
);
$this->setForm($form);
return parent::_prepareForm();
}
private function getStoreOptions()
{
// Mağaza seçeneklerini getirmek için mantık
}
}
3. İhracat Form Şablonunu Güncelleme
Sıradaki adım, ihracat form şablonunu güncelleyerek form gönderimini işlemek ve ihracat isteğine mağaza kimliğini eklemektir.
// app/code/Vendor/Module/view/adminhtml/templates/export/form/before.phtml
<script type="text/javascript">
require(['jquery'], function($){
$(document).ready(function(){
$('#export_form').submit(function(e){
var storeId = $('#store_id').val();
$(this).append('<input type="hidden" name="store_id" value="' + storeId + '"/>');
});
});
});
</script>
4. İhracat Kontrolörünü Güncelleme
İhracat kontrolörünü, ihracat işlemi sırasında mağaza kimliğini işlemek için değiştirin.
// app/code/Vendor/Module/Controller/Adminhtml/Export/Export.php
namespace Vendor\Module\Controller\Adminhtml\Export;
use Magento\Backend\App\Action\Context;
use Magento\Framework\Controller\Result\JsonFactory;
class Export extends \Magento\Backend\App\Action
{
protected $resultJsonFactory;
public function __construct(Context $context, JsonFactory $resultJsonFactory)
{
parent::__construct($context);
$this->resultJsonFactory = $resultJsonFactory;
}
public function execute()
{
$storeId = $this->getRequest()->getParam('store_id');
// Mağaza kimliğine dayalı ihracatı işlemek için mantık
$result = $this->resultJsonFactory->create();
return $result->setData(['success' => true]);
}
}
5. İhracat Bilgi Fabrikasını Güncelleme
İhracat bilgi fabrikasını geçersiz kılarak mağaza kimliğini ihracat verilerinin işleme sürecine dahil edin.
// vendor/magento/module-import-export/Model/Export/Entity/ExportInfoFactory.php
namespace Vendor\Module\Model\Export\Entity;
use Magento\ImportExport\Model\Export\Entity\Product as ExportProduct;
class ExportInfoFactory extends ExportProduct
{
protected function _updateData($row)
{
$storeId = $this->getStoreId();
// Mağaza kimliğine göre satır verilerini ayarlamak için mantık
return parent::_updateData($row);
}
private function getStoreId()
{
// Geçerli mağaza kimliğini getirmek için mantık
}
}
6. Ürün İhracat Modelini Güncelleme
Ürün ihracat modelini genişletin ve ihraç edilen verilerin, seçilen mağazanın özel özelliklerini yansıtmasını sağlayın.
// app/code/Vendor/Module/Model/Export/Product.php
namespace Vendor\Module\Model\Export;
use Magento\ImportExport\Model\Export\Entity\Product as MagentoProduct;
class Product extends MagentoProduct
{
protected function exportItem($itemData)
{
$storeId = $this->getStoreId();
// Mağaza kimliğine göre öğe verisini filtrelemek için mantık
return parent::exportItem($itemData);
}
private function getStoreId()
{
// İstek veya bağlamdan mağaza kimliğini getirmek için mantık
}
}
Son Adımlar
Yukarıdaki adımları uyguladıktan sonra, modülünüzün düzgün bir şekilde kaydedildiğinden ve etkinleştirildiğinden emin olun. Magento önbelleğini temizleyin ve mağaza filtresinin ihracat işlemi sırasında beklenildiği gibi çalıştığını doğrulayın.
Sonuç
Magento'nun ihracat işlevselliğine bir mağaza filtresi eklemek, özellikle çoklu mağaza ortamlarında platformun esnekliğini ve kullanılabilirliğini artırır. Belirtilen adımları izleyerek, ihracat sürecini, belirli mağaza gereksinimleriyle uyumlu hale getirebilir ve akıllı bir veri yönetimi süreci sağlayabilirsiniz.
SSS
Magento ihracatlarına bir mağaza filtresi eklemenin faydaları nelerdir?
Bir mağaza filtresi eklemenin faydaları, hedeflenen veri çıkarmanın sağlanması, ilgisiz veri içermemesi ve bireysel mağazalar için stok yönetiminin basitleştirilmesidir.
Mağaza filtresi seçeneklerini özelleştirebilir miyim?
Evet, mağaza filtresi seçeneklerini iş gereksinimlerinize göre değiştirerek kişiselleştirebilirsiniz.
Mağaza filtresinin doğru çalışıp çalışmadığını nasıl test edebilirim?
Yönetici panelinde bir ihracat gerçekleştirerek ve ihracat edilen verilerin yalnızca seçilen mağazayla uyumlu olduğunu doğrulayarak mağaza filtresini test edebilirsiniz.
Bu değişiklikler Magento'nun temel dosyalarını etkiler mi?
Hayır, bu değişiklikler özel bir modül aracılığıyla uygulanır, böylece Magento'nun temel dosyaları sağlam kalır ve özelleştirmeniz yönetilebilir ve yükseltilebilir olur.
Yukarıdaki adımları uygulayarak, Magento'nun çoklu mağaza yönetimi ihtiyaçlarına uygun şekilde ihracat işlevselliğini büyük ölçüde geliştirebilirsiniz.