কিভাবে পিএইচটিএমএল ম্যাজেন্টো 2 এ রুট ডিরেক্টরি পাথ পাবেন?


16
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');

$mediaPath  =   $fileSystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA)->getAbsolutePath();

এটি মিডিয়ার পথ ফেরায়। কীভাবে কোনও পিএইচটিএমএল পৃষ্ঠায় কোনও প্রকল্পের মূল পাথ পাবেন?

উত্তর:


39

শ্রেণি \ ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ ফাইলসিস্টেম \ ডিরেক্টরিলিস্টটি রুট, মিডিয়া, ভেরি ইত্যাদির মতো পথ পেতে ব্যবহার করা হয়

এটি আপনার প্রকল্পের মূল ডিরেক্টরিটি এইভাবে পাবে

প্রথমেই / var / www / html / myproject

অবজেক্টম্যানেজার দ্বারা

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$directory = $objectManager->get('\Magento\Framework\Filesystem\DirectoryList');

echo $rootPath  =  $directory->getRoot();

নির্ভরতা ইনজেকশন দ্বারা

protected $_dir;
...

public function __construct(
    ...
    \Magento\Framework\Filesystem\DirectoryList $dir,
    ...        
) {
    ...
    $this->_dir = $dir;
    ...
}

অন্যান্য ডিরেক্টরি পাথ যেমন পান

$this->_dir->getRoot(); // Output: /var/www/html/myproject

$this->_dir->getPath('media'); // Output: /var/www/html/myproject/pub/media

$this->_dir->getPath('pub'); // Output: /var/www/html/myproject/pub

$this->_dir->getPath('static'); // Output: /var/www/html/myproject/pub/static

$this->_dir->getPath('var'); // Output: /var/www/html/myproject/var

$this->_dir->getPath('app'); // Output: /var/www/html/myproject/app

$this->_dir->getPath('etc'); // Output: /var/www/html/myproject/app/etc

$this->_dir->getPath('lib_internal'); // Output: /var/www/html/myproject/lib/internal

$this->_dir->getPath('lib_web'); // Output: /var/www/html/myproject/lib/web

$this->_dir->getPath('tmp'); // Output: /var/www/html/myproject/var/tmp

$this->_dir->getPath('cache'); // Output: /var/www/html/myproject/var/cache

$this->_dir->getPath('log'); // Output: /var/www/html/myproject/var/log

$this->_dir->getPath('session'); // Output: /var/www/html/myproject/var/session

$this->_dir->getPath('setup'); // Output: /var/www/html/myproject/setup/src

$this->_dir->getPath('di'); // Output: /var/www/html/myproject/var/di

$this->_dir->getPath('upload'); // Output: /var/www/html/myproject/pub/media/upload

$this->_dir->getPath('generation'); // Output: /var/www/html/myproject/var/generation

$this->_dir->getPath('view_preprocessed'); // Output: /var/www/html/myproject/var/view_preprocessed

$this->_dir->getPath('composer_home'); // Output: /var/www/html/myproject/var/composer_home

$this->_dir->getPath('html'); // Output: /var/www/html/myproject/var/view_preprocessed/html

দ্রষ্টব্য: আপনার কখনও ব্যবহার করা উচিত নয় \Magento\Framework\App\ObjectManager::getInstance() এটি নির্ভরতা ইনজেকশনটির উদ্দেশ্যকে পরাস্ত করে।


কারখানা পদ্ধতিটি কাজ করছে না ...
সরফরাজ সিপাই

13

আপনি ম্যাজেন্টো ডিরেক্টরিটির পরম পাথ পেতে ম্যাজেন্টো 2 ডিফল্ট ভেরিয়েবল ব্যবহার করতে পারেন

echo BP;

1

আপনি ব্যবহার করতে হবে রুট পেতে রুট ডিরেক্টরিটি জন্য

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface');
$fileSystem = $objectManager->get('Magento\Framework\Filesystem');
$mediaPath  =   $fileSystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::ROOT)->getAbsolutePat‌​h()

আপনার ইস্যু হয়েছে কিনা দয়া করে আমাকে জানান
রাকেশ জেসাদিয়া

ফলাফলটি পেতে যুক্ত করতে হবে -> getAbsolvePath (); শেষ কোডটিতে $ মিডিয়াপথ = $ ফাইলসিস্টেম-> getDirectoryRead (\ ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ অ্যাপ \ ফাইল সিস্টেম \ ডিরেক্টরীলিস্ট :: রুট) -> getAbsolvePath ();
রিতা জোস

0

আমি অ্যালান স্টর্মের পদ্ধতিকে পছন্দ করি ।

$object_manager = MagentoCoreModelObjectManager::getInstance();
$dir = $object_manager->get('MagentoAppDir');            
$base = $dir->getDir();
$media = $dir->getUrl(MagentoAppDir::MEDIA);

এবং আপনি অধীনস্থ স্থিরগুলির একটি সম্পূর্ণ তালিকা পেতে পারেন lib/Magento/App/Dir.php

#File: lib/Magento/App/Dir.php
/**
 * Code base root
 */
const ROOT = 'base';

/**
 * Most of entire application
 */
const APP = 'app';

/**
 * Modules
 */
const MODULES = 'code';

/**
 * Themes
 */
const THEMES = 'design';

/**
 * Initial configuration of the application
 */
const CONFIG = 'etc';

/**
 * Libraries or third-party components
 */
const LIB = 'lib';

/**
 * Files with translation of system labels and messages from en_US to other languages
 */
const LOCALE = 'i18n';

/**
 * Directory within document root of a web-server to access static view files publicly
 */
const PUB = 'pub';

/**
 * Libraries/components that need to be accessible publicly through web-server (such as various DHTML components)
 */
const PUB_LIB = 'pub_lib';

/**
 * Storage of files entered or generated by the end-user
 */
const MEDIA = 'media';

/**
 * Storage of static view files that are needed on HTML-pages, emails or similar content
 */
const STATIC_VIEW = 'static';

/**
 * Public view files, stored to avoid repetitive run-time calculation, and can be re-generated any time
 */
const PUB_VIEW_CACHE = 'view_cache';

/**
 * Various files generated by the system in runtime
 */
const VAR_DIR = 'var';

/**
 * Temporary files
 */
const TMP = 'tmp';

/**
 * File system caching directory (if file system caching is used)
 */
const CACHE = 'cache';

/**
 * Logs of system messages and errors
 */
const LOG = 'log';

/**
 * File system session directory (if file system session storage is used)
 */
const SESSION = 'session';

/**
 * Dependency injection related file directory
 *
 */
const DI = 'di';

/**
 * Relative directory key for generated code
 */
const GENERATION = 'generation';

/**
 * Temporary directory for uploading files by end-user
 */
const UPLOAD = 'upload';
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.