سیستمی‌ها
اگر در واردسازی فایل CSV ترکیب‌ها، ستون‌‌ها جابجا بودند چکار کنم؟ - نسخه‌ی قابل چاپ

+- سیستمی‌ها (http://forums.systemiha.ir)
+-- انجمن: کامپیوتر (http://forums.systemiha.ir/forumdisplay.php?fid=1)
+--- انجمن: پرستاشاپ (PrestaShop) (http://forums.systemiha.ir/forumdisplay.php?fid=14)
+--- موضوع: اگر در واردسازی فایل CSV ترکیب‌ها، ستون‌‌ها جابجا بودند چکار کنم؟ (/showthread.php?tid=106)



اگر در واردسازی فایل CSV ترکیب‌ها، ستون‌‌ها جابجا بودند چکار کنم؟ - mojtabamalaekeh - 2016/08/05

درود دوستان عزیز

ممکنه نسخه‌ای از پرستاشاپ که نصب کردین، یک ستون در لیست ستون‌های مربوط به بخش «وارد سازی فایل CSV ترکیب‌ها» اضافه داشته باشه.
این ستونِ اضافه باعث میشه که تمام ستون‌های بعد از خودش جا به جا بشن و نتونید فایل CSV ترکیب‌های محصولات رو وارد فروشگاه کنید.
لیست نسخه‌هایی که شامل این مشکل هستند رو ندارم اما با یک بررسی ساده می‌تونید متوجه بشید که این مسئله در مورد فروشگاه شما صدق می‌کنه یا نه.
راه حذف کردن این ستون هم خیلی ساده است. اگر می‌بینید مطلب طولانیه به خاطر اینه که بنده باید کامل و با عکس توضیح بدم.

تشخیص
1- به بخش مدیریت فروشگاه برید و از پارامترهای پیشرفته، گزینه‌ی وارد سازی CSV رو بزنید.
اگر به فایل CSV نمونه ترکیب‌ها نیاز دارید می‌تونید از سمت چپ صفحه‌ای که باز میشه، نمونه رو دانلود کنید.
2- نهاد رو روی «ترکیب‌ها» تنظیم کنید و یک فایل برای وارد سازی انتخاب کنید.
مهم نیست چه فایلی باشه. هدف اینه که به گام بعد بریم و لیست ستون‌ها رو بررسی کنیم.
3- وقتی که فایل آپلود شد، به گام بعد برید.
4- از لیست‌های باز شونده که برای انطباق ستون‌ها هستند (Drop Down List یا همون Combo Box) یک لیست رو باز کنید.
فرقی نمی‌کنه کدوم لیست! چون محتوای همه یه چیزه.
5- در صورتی که ستون «مرجع محصول» رو در لیست مشاهده می‌کنید، ادامه‌ی آموزش رو دنبال بفرمایید.
[تصویر:  before-removing-product-reference.png]

اما اگر لیست شما به ترتیبی است که توی عکس زیر مشاهده می‌کنید، مشکلی نخواهید داشت:
[تصویر:  after-removing-product-reference.png]
مگر این که یک فایل ترکیب وارد کنید و نتیجه مطابق انتظار شما نباشه!
که در این صورت باید با پشتیبانی سیستمی‌ها تماس بگیرید و حتماً فایل ترکیبی که قصد وارد سازی‌اش رو داشتین به ما بدین تا چک کنیم.

تا اینجا نحوه‌ی اطلاع از وجود یا عدم وجود این مسئله رو خوندیم.
حالا اگه مسئله وجود داشت و خواستیم برطرفش کنیم مراحل زیر باید دنبال بشن.


مراحل اصلاح
1- وارد فضای هاست و بخش File Manager بشید.
2- به محل نصب پرستاشاپ برید (معمولاً همان روت).
3- وارد دایرکتوری controllers و سپس دایرکتوری admin بشید و فایل AdminImportController.php رو ویرایش (Edit) کنید.
مسیر کامل این فایل:
کد:
controllers/admin/AdminImportController.php

4- به قسمتی از فایل برید که حاوی کدهای زیر است:
کد:
        switch ((int)Tools::getValue('entity')) {
            case $this->entities[$this->l('Combinations')]:
                $this->required_fields = array(
                    'group',
                    'attribute'
                );

                $this->available_fields = array(
                    'no' => array('label' => $this->l('Ignore this column')),
                    'id_product' => array('label' => $this->l('Product ID')),
                    'product_reference' => array('label' => $this->l('Product Reference')),
                    'group' => array(
                        'label' => $this->l('Attribute (Name:Type:Position)').'*'
                    ),
                    'attribute' => array(
                        'label' => $this->l('Value (Value:Position)').'*'
                    ),
                    'supplier_reference' => array('label' => $this->l('Supplier reference')),
با جستجوی عبارت 'product_reference' => array('label' => $this->l('Product Reference')), می‌تونید سریع‌تر، این بخش رو پیدا کنید.

در ویرایشگر CPanel کدها به شکل تصویر زیر هستند که یک خط کد اضافی با فلش قرمز مشخص شده:
[تصویر:  admin-import-controller-in-cpanel.png]

5- به ابتدای یک خط کد زیر، باید 2 تا کاراکتر اسلش (یعنی //) اضافه کنید:
کد:
'product_reference' => array('label' => $this->l('Product Reference')),
تا به این شکل بشه:
کد:
//'product_reference' => array('label' => $this->l('Product Reference')),

6- فایل رو Save کنید اما از ویرایشگر خارج نشید فعلاً.

7- به فروشگاه برید و مراحل 1 تا 5 این آموزش رو تکرار کنید.
اگر همچنان مشکل باقی بود:
7-1- اون 2 تا کاراکتر اسلش که اضافه کردین رو پاک کنید.
7-2- فایل رو ذخیره (Save) کنید.
7-3- با پشتیبانی سیستمی‌ها تماس بگیرید.

نکته‌ی پایانی
اگر به هر دلیلی به هاست دسترسی ندارید و میخواید از طریق بخش مدیریت فروشگاه، مشکل رو حل کنید
می‌تونید لیست ستون‌ها رو تک‌تک تنظیم کنید و در بالای جدول که نوشته «پیکربندی انطباق داده خود را ذخیره کنید» یه اسم وارد کنید و «ذخیره» کنید تا در استفاده‌های بعدی ازش استفاده کنید و لازم نباشه هر بار تک‌تک ستون‌ها رو تنظیم کنید.
برای تنظیم دستی ستون‌ها به تاپیک نکات مهم در هنگام وارد سازی فایل CSV ترکیب‌ها به پرستاشاپ مراجعه بفرمایید.