কীভাবে পণ্যের ফটোগুলি জেপিজির মান বাড়িয়ে তুলবে (ম্যাজেন্টো 2)


18

ম্যাজেন্টো 2-তে জেপিজি সংক্ষেপণ খুব শক্তিশালী, যাতে পণ্যের চিত্রগুলির গুণমান ক্যাটালগ এবং পণ্য দর্শনে সত্যই খারাপ হয়। ম্যাজেন্টো 2-তে আমি কীভাবে জেপিজির জন্য চিত্র সংকোচন পরিবর্তন করতে পারি?

উত্তর:


15

এই সমাধানটি আমার পক্ষে কাজ করে:

ফাইল: {বিক্রেতা} / {মডিউল} /etc/di.xML

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Catalog\Model\Product\Image" type="{Vendor}\{Module}\Model\Product\Image" />
</config>

ফাইল: {বিক্রেতা} / {মডিউল} / মডেল / পণ্য আপনি যা চান তার মান নির্ধারণ করতে পারেন। তারপরে ফ্ল্যাশ ইমেজ ক্যাশে।

namespace {Vendor}\{Module}\Model\Product;

class Image extends \Magento\Catalog\Model\Product\Image {

    protected function _construct() {
        $this->_quality = 100;

        parent::_construct();
    }
}

আপনার কাস্টম থিমটিতে এই ফাইলটি রাখার পথ কী? আমি এম 2 এস ফাইলিং স্ট্রাকচারটি বের করতে পারি না। এম 1 বেশ সহজ ছিল
স্টাইলজজ

অ্যাপ্লিকেশন / কোড / {বিক্রেতার} / {মডিউল}
পাপামাইক 21'17

তবে কি আপগ্রেড করার সময় ওভাররাইড হয়ে যাবে? আমি ভেবেছিলাম আপনাকে এটি আপনার থিমে রাখতে হবে। না?
স্টাইলজজ

1
না, name বিক্রেতার} ফোল্ডারটি অবশ্যই আপনাকে অবশ্যই নেমস্পেস দ্বারা প্রতিস্থাপন করতে হবে (উদাহরণস্বরূপ স্টাইলজজ হতে পারে)। এটি ওভাররাইড করা হবে না। প্রাক্তন .: / অ্যাপ্লিকেশন / কোড / স্টাইলজজ / চিত্রকম্পশন / ...
পাপামাইক

যদি পণ্যের জন্য আপনার পিএনজি চিত্র থাকে তবে জিডি 2 অ্যাডাপ্টারে সংক্ষেপণের স্তরটি হার্ডকোড করা হয়েছে: vendor/magento/framework/Image/Adapter/Gd2.php:167থেকে 9 (সর্বোচ্চ)
ফ্রাঙ্ক গার্নিয়ার

5

ম্যাজেন্টো ২.৩.২ হিসাবে কোড পরিবর্তন না করে চিত্রের মান নির্ধারণ করা সম্ভব:

স্টোরস> কনফিগারেশন> উন্নত> সিস্টেম> চিত্রগুলি আপলোড কনফিগারেশন> গুণমান> 100

এক্সএমএল কনফিগার পাথটি হ'ল:

system/upload_configuration/jpeg_quality


1
"আমি ম্যাজেন্টো 2-তে জেপিজির জন্য চিত্র সংকোচনতা কীভাবে পরিবর্তন করতে পারি" ... এটি কি প্রশ্ন ছিল না?
কে বিজ

কোনও কোড পরিবর্তনের প্রয়োজন হিসাবে অন্যান্য উত্তরের চেয়ে ভাল
ব্যারি

2

ভিতরে - বিক্রেতা / ম্যাজেন্টো / মডিউল-ক্যাটালগ / সহায়ক / চিত্র.এফপি

আপনি জেনেরিক পাবেন:

public function setQuality($quality)
{
    $this->_getModel()->setQuality($quality);
    return $this;  
}

আপনি যদি এর ব্যবহারের জন্য গ্রেপ করেন তবে আপনি একই নামের একটি পদ্ধতি এতে পাবেন:

Magento / মডিউল-ক্যাটালগ / মডেল / পণ্য / Image.php

এবং সেই ফাইলের ভিতরে:

/**
 * Default quality value (for JPEG images only).
 *
 * @var int
 */         
protected $_quality = 80;

এটি এই মান - এটি 95 এ সেট করা প্রয়োজন।

এটি সাইটের সংকোচনের এবং প্রত্নতত্ত্বগুলিকে হ্রাস করবে।

আপনার ছেলেরা আমি ধরে নেব যে উপযুক্ত মোতায়েন কোড ওভাররাইড দিয়ে এই পরিবর্তনগুলি করতে হবে - অর্থাত্ এই মূল ফাইলটি পরিবর্তন করে নয়। আমি ম্যাজেন্টো বিকাশকারী নই অন্যথায় আমার ক্র্যাক হয় ....


3
প্রকৃতপক্ষে, কোরের কোনও মান পরিবর্তন (বিক্রেতার) পরবর্তী আপডেটের সাথে ওভাররাইট করা হবে, সুতরাং মূল ফাইলগুলি পরিবর্তন করা একটি সাধারণ ধারণা
মার্সেল হৌরি

2

এখানে উত্তরগুলি বেশ ভুল আইএমও। আপনার যে হাতটি প্রথমে পরিবর্তন করা উচিত তা নয় এটি চিত্রগুলির আকার। কেন?

ভাল জিনিসটি হ'ল ছোট চিত্রের আকারের জন্য কোনও চিত্রকে সংকুচিত করার সময় সংক্ষেপণের হারটি সেই লক্ষ্য অর্জনে সবচেয়ে বেশি উপকারী। দ্বিতীয়টি হ'ল চিত্রের মাত্রা। এছাড়াও আপনার উত্স উত্স চিত্রটি সর্বদা সঙ্কুচিত করা উচিত (বিবরণ সংরক্ষণের সাথে সাথে ফাইলের আকার যতটা সম্ভব নিচে নেওয়ার জন্য (আমি ম্যাজেন্টো এটি কীভাবে পরিচালনা করে তা পরীক্ষা করে দেখিনি)।

রেটিনা স্ক্রিনে আপনার প্রদর্শিত আকারের 2x প্রয়োজন। সুতরাং 250x250 পিক্সেলে একটি ধারালো চিত্র প্রদর্শিত হওয়ার জন্য, তখন চিত্রটি 500x500 পিক্সেল হওয়া দরকার।

তাই আমি view.xmlপ্রদর্শিত আকার দ্বিগুণ করতে থিমগুলিতে পরিবর্তন শুরু করব । যদি চিত্রটি এখনও ভাল না দেখায় তবে আমি মান নির্ধারণের বিষয়টি বিবেচনা করব। আপনার যদি সময় থাকে তবে আপনি প্রতিক্রিয়াশীল চিত্রগুলিও প্রয়োগ করতে পারেন (সুতরাং দ্বিগুণ আকারগুলি কেবলমাত্র রেটিনা স্ক্রিন ডিভাইসে লোড হয় )।

আপনি চিত্র থেকে সমস্ত মেটা ডেটা সরিয়েও আকার হ্রাস করতে পারবেন, নিশ্চিত নন যে ম্যাজেন্টো তা ডিফল্টরূপে এটি করে বা না। এটি সাধারণত ভাল ইমেজ সংক্ষেপণ পরিষেবাদির একটি অংশ।


1
এই সাথিকে ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ! আমি জানতাম ম্যাজেন্টোর ইমেজ টমফুলারি করার কোনও যুক্তিসঙ্গত কারণ থাকতে হবে! যদিও বাস্তবায়ন সম্পর্কে আমি এখনও কিছুটা বিভ্রান্ত। সুতরাং, বলুন যে আমার পণ্যগুলি পণ্যের পৃষ্ঠায় 700px বর্গ হিসাবে প্রদর্শিত হচ্ছে, তারপরে আমাকে 1400px বর্গক্ষেত্রের একটি চিত্র তৈরি করতে হবে, তারপরে ভিউ.এক্সএমএল ফাইলের সাথে সম্পর্কিত সেটিংটিও 1400px এ পরিবর্তন করতে হবে? আমি এটির সাথে খেলছি, পাশাপাশি অন্যান্য উত্তরে উল্লিখিত ওভাররাইড, তবে আমি যখন 'জুমড' ভিউতে প্রবেশ করতে ছবিতে ক্লিক করি তখন পণ্যের পৃষ্ঠায় গুণমানটি সর্বদা কম থাকে।
জোশুয়া বন্যা

@ জোশুয়াফ্লুড আমি মনে করি জুমযুক্ত চিত্রটির নিজস্ব আকারে ভিউ.এক্সএমএল এর নিজস্ব এন্ট্রি রয়েছে, এটি কী কী আছে বা কোন আকারের তা ঠিক মনে করতে পারে না
ওজজিআই

কোনও উদ্বেগ নেই যে আমি এটি বাছাই করেছি। টিপ জন্য ধন্যবাদ! এটি ঠিক কী করেছে তা নিশ্চিত নয় তবে আমি 'ছোট' চিত্রগুলি ডাবল-আকারের চিত্রগুলির সাথে প্রতিস্থাপন করতে ভুলে গিয়েছিলাম, যাতে সমস্যাটি হতে পারে।
জোশুয়া বন্যা

এটি একটি ভাল উত্তর নয়। আপনার যা করা উচিত তা হ'ল প্রতিক্রিয়াশীল চিত্র এবং srcset বৈশিষ্ট্যটি ব্যবহার করুন - সাধারণভাবে কেবল একটি বৃহত্তর চিত্র সরবরাহ করবেন না যা যখনই প্রয়োজন হবে ডাউনস্কেল করা হবে।
frizmg

@ ফ্রিটজএমজি "প্রথম হাত" "আপনার যদি সময় থাকে তবে আপনি প্রতিক্রিয়াশীল চিত্রগুলিও বাস্তবায়িত করতে পারেন" .. কোন অংশটি বুঝতে আপনার অসুবিধা হচ্ছে?
ওজজিআইই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.