ক্যাটালগ অনুসন্ধান: যদি কেবলমাত্র একটি ফলাফল হয় তবে তালিকা দেখার জন্য প্রোডাক্ট ভিউ পৃষ্ঠাটি অন্তর্ভুক্ত করুন


14

আমার লক্ষ্যটি ম্যাগেন্টো ক্যাটালগ অনুসন্ধানে নিম্নলিখিত পরিবর্তনগুলি অর্জন করা।

আমি যখন কোনও পণ্য অনুসন্ধান করি এবং ফলাফল সংগ্রহের ক্ষেত্রে কেবল একটি পণ্যই ফিরে আসে, আমি পণ্য তালিকার পৃষ্ঠার পরিবর্তে পণ্য দৃশ্য পৃষ্ঠাতে প্রদর্শিত করতে চাই।

আপনি আমাকে কীভাবে এবং কোথায় এই পরিবর্তনটি করার জন্য অনুসন্ধান শুরু করতে হবে আমাকে একটি পরামর্শ দিতে পারেন?

এই মুহুর্তে আমি সত্যিই পুরো কোডটিতে হারিয়ে ফেলেছি।

ম্যাজেন্টো ব্যবহার করে 1.9.0.1

উত্তর:


21

আপনার যদি একটি নতুন এক্সটেনশন তৈরি করতে হবে যা চেক করে, দ্রুত অনুসন্ধান (বা উন্নত অনুসন্ধান) পৃষ্ঠাটি রেন্ডার করার আগে, যদি পণ্য সংগ্রহের মধ্যে সঠিকভাবে একটি পণ্য থাকে।
এর জন্য আসুন একটি নতুন এক্সটেনশন তৈরি করা যাক StackExchange_CatalogSearch
আপনার নিম্নলিখিত ফাইলগুলি প্রয়োজন:

app/etc/modules/StackExchange_CatalogSearch.xml - ঘোষণা ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <StackExchange_CatalogSearch>
            <codePool>local</codePool>
            <active>true</active>
            <depends>
                <Mage_CatalogSearch />
            </depends>
        </StackExchange_CatalogSearch>
    </modules>
</config>

app/code/local/StackExchange/CatalogSearch/etc/config.xml - কনফিগারেশন ফাইল:

<?xml version="1.0"?>
<config>
    <modules>
        <StackExchange_CatalogSearch>
            <version>1.0.0</version>
        </StackExchange_CatalogSearch>
    </modules>
    <global>
        <models>
            <stackexchange_catalogsearch>
                <class>StackExchange_CatalogSearch_Model</class>
            </stackexchange_catalogsearch>
        </models>
    </global>
    <frontend>
        <events>
            <controller_action_layout_render_before_catalogsearch_result_index><!-- for the quick search-->
                <observers>
                    <stackexchange_catalogsearch>
                        <model>stackexchange_catalogsearch/observer</model>
                        <method>redirectToProduct</method>
                    </stackexchange_catalogsearch>
                </observers>
            </controller_action_layout_render_before_catalogsearch_result_index>
            <controller_action_layout_render_before_catalogsearch_advanced_result><!-- for the advanced search-->
                <observers>
                    <stackexchange_catalogsearch>
                        <model>stackexchange_catalogsearch/observer</model>
                        <method>redirectToProduct</method>
                    </stackexchange_catalogsearch>
                </observers>
            </controller_action_layout_render_before_catalogsearch_advanced_result>
        </events>
    </frontend>
</config>

app/code/local/StackExchange/CatalogSearch/Model/Observer.php - পর্যবেক্ষক যা সমস্ত কাজ করে।

<?php
class StackExchange_CatalogSearch_Model_Observer
{
    //the product list block name in layout
    const RESULT_BLOCK_NAME = 'search_result_list';
    public function redirectToProduct($observer)
    {
        /** @var Mage_Catalog_Block_Product_List $block */
        $block = Mage::app()->getLayout()->getBlock(self::RESULT_BLOCK_NAME);
        if ($block) {
            $collection = $block->getLoadedProductCollection();
            if ($collection && $collection->getSize() == 1) {
                /** @var Mage_Catalog_Model_Product $product */
                $product = $collection->getFirstItem();
                $url = $product->getProductUrl();
                if ($url){
                    Mage::app()->getResponse()->setRedirect($url);
                    Mage::app()->getResponse()->sendResponse();
                    exit; //stop everything else
                }
            }
        }
    }
}

ক্যাশে সাফ করুন, সক্ষম করা থাকলে সংকলন অক্ষম করুন এবং এটিকে যান।

দ্রষ্টব্য: যখন অনুসন্ধান (এবং উন্নত অনুসন্ধান) পৃষ্ঠাটি কেবলমাত্র পণ্যটিতে ফিরে আসবে তখন সন্ধানের পরে বা স্তরযুক্ত নেভিগেশন ফিল্টার প্রয়োগ করার পরেও যদি এই এক্সটেনশনটি পণ্য পৃষ্ঠাতে পুনঃনির্দেশ করে।


বাহ অসাধারণ, এটি একটি কবজির মতো কাজ করে! আপনাকে অনেক ধন্যবাদ!
মার্কো

1
অলসদের জন্য, এখানে ডাউনলোড করুন: github.com/sreichel/magento-
স্ট্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.