কীভাবে কোড থেকে স্টোর আইডি পাবেন


23

সুতরাং আমার কাছে স্টোর কোড রয়েছে এবং আমি সত্যিই স্টোর আইডিটি পছন্দ করি। আদর্শভাবে আমি কেবল স্টোর পুরোপুরি লোড করতে চাই না কারণ আমার কেবল আইডি দরকার।

আমার কাছে একটি ধারণা ছিল এটি একটি সংগ্রহের মাধ্যমে লোড করা তবে আমি ভাবছিলাম যে কোনও সহায়ক বা সংস্থান দিয়ে অন্য কোনও উপায় আছে কিনা।


3
আমার জন্য এটি পুরোপুরি কাজ করে:Mage::app()->getStore($storeCode)->getId();
হেটেফ

উত্তর:


10

এটি পরীক্ষা করা হয়নি তবে আমার মনে আছে আপনি loadConfigমডেলটিতে পদ্ধতিটি ব্যবহার করে আইডিটি পেতে পারেনMage_Core_Model_Store

এর পরে আপনি getId()মডেলটিতে ফোন করে আইডিটি পেতে পারেন ।

loadConfigপদ্ধতি দোকান ডেটা পুনরুদ্ধার করতে লোড করা কনফিগারেশন ব্যবহার

$store = Mage::getConfig()->getNode()->stores->{$code};

যা আপনাকে নিম্নলিখিত মান দেয়

  • আইডি
  • কোড
  • website_id

3
অদ্ভুত - আমার জন্য (Magento 1.9.0.0) এটি NULL প্রদান করে। আমার জন্য কী কাজ করেছেMage::getConfig()->getNode('stores')->{$code}
ডগ ম্যাকলিন

বা আরও ভাল: ম্যাজ :: getConfig () -> getNode ('স্টোর') -> {$ কোড} -> system 'সিস্টেম'} -> store 'স্টোর'} -> id 'আইডি'};
আনশুমান

@ ডগএমসিএলিয়ান EE 1.14.1.0 এ একই সমস্যা পেয়েছিল, "কনফিগারেশন" ক্যাশে সক্ষম করা হলে এটি প্রদর্শিত হয় - ম্যাজেন্টো ক্যাশে ইস্যুটির মতো দেখায়। স্যান্ডার আপনি কী উত্তরটি মেজে :: getConfig () -> getNode ('store') -> {$ কোড using ব্যবহার করে সম্পাদনা করতে চাইবেন, তাই সমাধান সক্ষম / অক্ষম ক্যাশে উভয়ের ক্ষেত্রেই কাজ করে?
কেট সুয়কভস্কায়া

আমার মাল্টিস্টোর রয়েছে, আমি কীভাবে স্টোর আইডি, আমার কোড -> justpaste.it/6fi1f
রত্ন

21

Mage::getModel('core/store')->load($storeCode, 'code')->getId()

এটি কি সহজ উপায় নয়?


2
এটি সহজ হতে পারে তবে পুরো আইডিটি যখন আমার প্রয়োজন তখন পুরো স্টোরটি লোড করা সাইটের পারফরম্যান্সের পক্ষে সেরা নাও হতে পারে।
ডেভিড ম্যানার্স

ঠিক আছে, বোধ হয়। তারপরে একটি রিসোর্স মডেলটিতে সরাসরি এসকিউএল করুন :)
জাইফিউস

5

যদি এই কিছু 1.9.0.0 অদ্ভুত যে আমি জানি না কিন্তু আমি পেতে না পারে পারেন Mage::getConfig()->getNode()->stores->{$code}বা Mage::getModel('core/store')->loadConfig($code)(যা আসলে কল Mage::getConfig()->getNode()->stores->{$code} ) কিছু দেখাবে।

প্রথমটি নিকটে ছিল ... ফর্মের একটি সূক্ষ্ম পরিবর্তন সহ, এটি একটি ফলাফল পায়, যদিও এটি আপনার প্রয়োজনের চেয়ে আরও বেশি তথ্য অপেক্ষা করছে:

$store = Mage::getConfig()->getNode('stores')->{$code}

কেবল স্টোর আইডি পাওয়ার জন্য আমার পক্ষে কী কাজ করেছিল, এটি ছিল:

$storeId = Mage::getConfig()->getNode('stores')->{$code}->system->store->id;

... এখনও অদক্ষ, অবশ্যই, সমস্ত কনফিগার তথ্যটি কেবলমাত্র একটি অল্প সংখ্যক জন্য লোড করা হচ্ছে। তবে আরে, এটা আপনার জন্য ম্যাজেন্টো


4

নিম্নলিখিত কাজ করা উচিত:

<?php echo Mage::getModel('core/store')->loadConfig($code)->getId(); ?>

উত্তরের জন্য ধন্যবাদ, যদিও এটি আগেরটির মতোই বলে মনে হচ্ছে :)
ডেভিড ম্যানার্স

হ্যাঁ, আমি আমার প্রতিক্রিয়া পোস্ট করার পরে এটি লক্ষ্য করেছি :)
মেয়ারস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.