বাহ্যিক ব্যবহারের জন্য Magento রাউটিংয়ের বাইরে লোড / একটি ব্লক পান


15

আমার একটি বাহ্যিক ওয়েবপৃষ্ঠা রয়েছে এবং আমি এই বাহ্যিক পৃষ্ঠায় শিরোনাম হিসাবে ব্যবহার করার জন্য ম্যাগন্টো ফ্রেমওয়ার্ক থেকে সাইট শিরোলেখ ব্লকটি টানতে চেষ্টা করছি। আমার এ পর্যন্ত যা আছে:

// initialize Magento
$rootPath = dirname(dirname(__FILE__));
$mageInc = $rootPath . "/app/Mage.php";
include_once $mageInc;

Mage::app('admin')->setCurrentStore(0);

$headerBlock = Mage::app()->getLayout()->createBlock('page/html_header');
//also tried
//$headerBlock = Mage::app()->getLayout()->createBlock('page/html_header', 'header');

এক্সিকিউশনটি সেখানে থামে, এবং আমি কোনও ত্রুটির বার্তা পাই না। আমার লক্ষ্য হ'ল ব্লকটি টানুন Mage_Page_Block_Html_Header, যা আমি মনে করি যে আমি <block type="page/html_header" name="header" as="header">পৃষ্ঠা.এক্সএমএল লেআউট ফাইল থেকে এটি এবং এর সমস্ত সামগ্রী লোড করতে ব্যবহার করতে পারি । এই এক্সএমএল ট্যাগটি ভিতরে আবৃত

<default translate="label" module="page">
  <block type="page/html" name="root" output="toHtml" template="page/1column.phtml">

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


এই কোডটি কাজ করে তবে লগআউট বোতামটি নিয়ে আমার সমস্যা আছে, কারও কারও একই সমস্যা আছে? শুভেচ্ছা সহ
মাসিমো Camoni

উত্তর:


12

আমি গোপন উপাদান পেয়েছি .. এবং এটি Mage::app()->loadArea('frontend');

<?php
include_once "app/Mage.php";
umask(0);
Mage::app()->loadArea('frontend');

$layout = Mage::getSingleton('core/layout');

//load default xml layout handle and generate blocks
$layout->getUpdate()->load('default');
$layout->generateXml()->generateBlocks();

//get the loaded head and header blocks and output
$headBlock = $layout->getBlock('head');
$headerBlock = $layout->getBlock('header');
echo $headBlock->toHtml() . $headerBlock->toHtml();

ধন্যবাদ @ বেনমার্কস!


3

আপনি সেখানে 99%। আপনাকে ব্লকটিতেHtml () এ কল করতে হবে, এবং তারপরে ফলাফলটি দেখতে এটি প্রতিধ্বনিত করবে:

<?php
// initialize Magento
$rootPath = dirname(dirname(__FILE__));
$mageInc = $rootPath . "/app/Mage.php";
include_once $mageInc;

Mage::app('admin')->setCurrentStore(0);

echo $headerBlock = Mage::app()->getLayout()->createBlock('page/html_header')->toHtml();

হ্যাঁ, আমি এটি চেষ্টা করেছি এবং কিছুই করি নি। এটির উত্তর যদিও, আমি এটি একটি নতুন ইনস্টল করে চেষ্টা করেছি এবং এটি কার্যকর। ধন্যবাদ।
নিক রোল্যান্ডো

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