হোম পেজে কন্টেন্ট ব্লক যুক্ত করা হচ্ছে, 'স্টাডি' <ডিভিটি> মুছে ফেলা হচ্ছে


9

আমি কয়েকটি জিনিস করতে চাই এবং আমি নতুন এবং ম্যাজেন্টোর সাথে দক্ষ থেকে খুব দূরে; আমি যা জিজ্ঞাসা করছি তা হ'ল নিম্নলিখিতটি করার সবচেয়ে উত্তম এবং সংক্ষিপ্ত উপায়:

  1. আমি আমার হোম পৃষ্ঠা - এবং সম্ভবত প্রতিটি সিএমএস পৃষ্ঠার বিষয়বস্তু সম্পাদনা করতে চাই, যেমন আমি এই প্রকল্পে আরও পাই get আমার পাঠ্য সম্পাদকটিতে এবং অ্যাডমিন প্যানেলে WYSIWYG- তে নয়। আমি অনুমান করি যে home-content.phtmlআমার ক্যারোসেল (গুলি) এর জন্য আমার মার্কআপ এবং আমার হোম পৃষ্ঠায় যা কিছু আছে তার সমাপ্তির মতো একটি টেম্পলেট আমার কাছে রয়েছে। এটা আমার কাছে এই আমার সংযুক্ত কি সবচেয়ে যৌক্তিক উপায় করলো home-content.phtmlকরতে getChildHtml('content')এডমিন প্যানেলে পদ্ধতি ->, CMS -> পেজ -> হোম পেজ -> 'ডিজাইন' ট্যাব -> ভালো কোড সহ লেআউট আপডেট XML:

    <reference name="content">
                <block type="core/template" name="home-content"
                       as="home-content" template="home-content.phtml" />
    </reference>
    

    যাইহোক, পরবর্তী কাজটি আমি করতে চেয়েছিলাম তাতে গণ্ডগোল হয়েছিল ...

  2. আমার মতে, ডিফল্ট ম্যাজেন্টো এইচটিএমএল কাঠামো ভয়াবহভাবে ফুলে গেছে, অনেকগুলি নেস্টেড div( মোড়ক -> পৃষ্ঠা -> মেইন-ধারক কল 1-লেআউট -> প্রধান -> কোল-মেইন কেবল কোনও পৃষ্ঠার সামগ্রীতে যাওয়ার জন্য) । এটি সাসকে আমার জন্য দুঃস্বপ্নের সাথে স্টাইলিং করে তোলে, এই সমস্ত শ্রেণীর স্টাইলগুলি 5 টি বিভিন্ন স্যাস পার্টিয়ালে বিভক্ত হয়। সুতরাং, আমি আমার নিজের ডিজাইনের প্রিন্সিপালের সাথে মেলে ডিফল্ট কাঠামো পরিষ্কার করছি। এর মানে এই ধরনের কুখ্যাত যেমন খালি উপাদান, সরানোর পার্ট <div class="std"> </div>। এ থেকে মুক্তি পাওয়ার সবচেয়ে কার্যকর উপায়টি (যেমন আমি সামগ্রীর জন্য প্রশাসক প্যানেলটি ব্যবহার করার পরিকল্পনা করি না) হ'ল <remove name="cms.wrapper">সিএমএস হোম লেআউট আপডেট এক্সএমএল। সমস্যাটি হ'ল এটি উপরের পদ্ধতির ( reference name="content") এর সাথে আমি যুক্ত করা সমস্ত কিছু সরিয়ে ফেলে ।

মূলত: আমি কীভাবে আমার হোম পৃষ্ঠায় লিখিত সামগ্রী যুক্ত করতে পারি .phtml এবং<div class="std"> </div> কোনও বিরোধ ছাড়াই মুছে ফেলতে পারি? আমি বুঝতে পারছি না অ্যাডমিনের কার্যকারিতা -> সিএমএস -> লেআউট আপডেট এক্সএমএল লেআউট.এক্সএমএল এর কার্যকারিতা থেকে আলাদা বা কেন আমার অন্যটির ব্যবহার করা উচিত (যেমন, আমি <cms index-index>কি একই জিনিসটি ব্যবহার করতে পারি না?) ।

আগাম ধন্যবাদ, সবাই।


আমার ক্ষেত্রে, .stdতালিকার শৈলীগুলি যুক্ত করুন যেখানে তারা চান না। ভবিষ্যদ্বাণী করে ম্যাজেন্টোর সাথে, এটি সমাধানের দীর্ঘ প্রক্রিয়া।
rybo111

উত্তর:


12

আসুন আপনার সমস্যাটি 3 টি বিভাগে বিভক্ত করুন এবং এটি পর্যালোচনা করুন।

1. আপনার সিএমএস পৃষ্ঠায় একটি টেম্পলেট ফাইল যুক্ত করতে হবে

আপনি এখানে যে পদ্ধতিটি গ্রহণ করবেন তা নিশ্চিতভাবে কাজ করবে। এটি হ'ল আপনাকে এই কোড স্নিপেটটি আপনার সেমি পৃষ্ঠাগুলির ভিতরে ডিজাইন ট্যাবের অধীনে যুক্ত করতে হবে

<reference name="content"><block type="core/template" name="home-content"  template="test.phtml" /></reference>

যেহেতু আপনার টেম্পলেট ফাইলটি সরাসরি contentব্লকের আওতায় আসে তাই আপনার টেমপ্লেট সামগ্রীটি ম্যাজেন্টো দ্বারা রেন্ডার করা হবে। সুতরাং আপনার নিজের asসম্পত্তি ব্যবহার করার দরকার নেই core/template block

2. কীভাবে এড়ানো যায় <div class="std"></div>

এই ডিভিটি আসলে সিমস পৃষ্ঠাগুলির জন্য একটি মোড়ক ডিভ উপাদান। এই ব্লকের সংজ্ঞাটি এখানে দেখুন।

  <block type="page/html_wrapper" name="cms.wrapper" translate="label">
        <label>CMS Content Wrapper</label>
        <action method="setElementClass"><value>std</value></action>
        <block type="cms/page" name="cms_page"/>
  </block>

আপনি দেখতে পাচ্ছেন যে, cms.wrapperব্লকটি প্রকারের page/html_wrapper। এই ব্লকটি যা করে তা হ'ল, এটি তার সমস্ত শিশু ব্লককে একটি ডিভ উপাদান (ডিফল্ট উপাদান) দিয়ে মুড়ে দেবে এবং শিশু ব্লকগুলি স্বয়ংক্রিয়ভাবে রেন্ডার করবে।

এই ব্লকটি এড়াতে আপনি এই কোডটি ব্যবহার করেছেন

<remove name="cms.wrapper">

তবে এটি সম্পূর্ণ ভুল। এটি প্রকৃতপক্ষে মোড়ক ডিভ অপসারণ করে। তবে এর সাথে সাথে এটি চাইল্ড ব্লকও সরিয়ে দেয় cms_page। এটি cms_pageএকটি প্রকারের সাথে cms/page। তার মানে এটি ব্লকের রেফারেন্স Mage_Cms_Block_Page। এই ব্লকটি সিএমএস পৃষ্ঠাগুলির "হৃদয়" । সুতরাং মোড়ক সরিয়ে সিএমএস পৃষ্ঠার হার্ট ব্লকটিও মুছে ফেলে। সে কারণেই আপনি আপনার সেমি পৃষ্ঠাতে কোনও আউটপুট পান নি।

সুতরাং এই মোড়ক এড়াতে আপনার কী করা উচিত? উত্তরটি বেশ সহজ। cms_pageমোড়ক থেকে পালাতে এবং তারপরে নিরাপদে মোড়ক মুছে ফেলুন। সুতরাং আপনার কোডটি আপনার সিমাস পৃষ্ঠা বিন্যাস বিভাগে ব্যবহার করা দরকার।

<reference name="content"><remove name="cms.wrapper" /><block type="core/template" name="home-content"  template="test.phtml" /><block type="cms/page" name="cms_page"/></reference>

আপনি লেআউট এক্সএমএল কোডটিতে দেখতে পাচ্ছেন, আমরা প্রথমে মোড়কটিকে সরিয়ে ফেলি এবং সেইজন্য cms_pageআমাদের কোডের মাধ্যমে ব্লক .োকানো হয়। আপনি দেখতে পান আমরা আমাদের টেম্পলেট ব্লকটিও ব্যবহার করেছি। এটি প্রথমে আপনার পৃষ্ঠায় টেমপ্লেট ফাইলের বিষয়বস্তু রেন্ডার করবে, তারপরে সেমি পৃষ্ঠা পৃষ্ঠার সামগ্রী হবে।

৩. অ্যাডমিন -> সিএমএস -> লেআউট আপডেট এক্সএমএল লেআউট.এক্সএমএল এর কার্যকারিতা থেকে পৃথক

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

তবে আপনাকে যদি সমস্ত সিএমএস পৃষ্ঠাগুলিতে কিছু সাধারণ পরিবর্তনগুলি প্রয়োগ করতে হয় তবে তা দিয়ে যাওয়া সহজ হবে layout.xml

সুতরাং সাধারণত, কোন পদ্ধতিটি বিন্যাসটি পরিবর্তন করতে হবে তা খাঁটিভাবে আপনি কী অর্জন করতে চান তার উপর নির্ভর করে। তার উপর নির্ভর করে আপনার একটি পদ্ধতি নিয়ে যেতে হবে। সমস্ত পদ্ধতি।

আশা করি এইটি কাজ করবে


3

যদি কেবল একটি আপত্তিজনক পৃষ্ঠা থাকে তবে সর্বোত্তম ও সহজ উপায় আইএমও:

সিএমএস পৃষ্ঠার "Design"ট্যাব সম্পাদনা করুন ।

মোড়কের উপাদানটির উল্লেখ করুন, setElementClassকোনও শ্রেণি বা একটি নতুন শ্রেণি প্রয়োগের জন্য পদ্ধতিটি ব্যবহার করুন ।

<reference name="cms.wrapper">
<action method="setElementClass"><value>none</value></action>
</reference>

0

আপনার লেআউটটি পরিবর্তন করা উচিত, সাধারণত 1column.phtml, 2collines.phtml ইত্যাদি them এগুলি আপনার নিজের পছন্দ / প্রয়োজন মতো করে তুলতে হবে।

এই পিএইচটিএমএলগুলি যে কোনও লেআউটের প্রাথমিক কাঠামো এবং প্রগতিগতভাবে এক্সএমএল আপডেটগুলি দিয়ে পূর্ণ।

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


if this is the home page, include this code ...সমস্ত লেআউট পৃষ্ঠাগুলিতে শর্তসাপেক্ষ যুক্ত করে কিসের মতো , তারপরে কেবল সমস্ত পৃষ্ঠায় মুছে ফেলা হচ্ছে getCHildHtml('content')? আমি ম্যাজেন্টোকে কীভাবে ব্যবহার করতে হয় তা শিখতে চাই এবং এটির সরঞ্জামগুলি আরও ভাল, কেবল স্লেজহ্যামারই নয় বিষয়টি not
এজরাটিক

না, বিভিন্ন পরিস্থিতিতে এবং রুটটির উপর নির্ভর করে বিভিন্ন আপডেট সহ পুরো সাইটের চারদিকে লেআউট ব্যবহার করা হয়। এ সময় একটি প্রশ্ন করুন, যদি আপনার সন্দেহ থাকে তবে আরও প্রশ্ন তৈরি করুন, তবে এটি সম্পাদনা করবেন না বা এটি বন্ধ হয়ে যেতে পারে।
মবলপর্দা

আমি এখানে অভদ্র হওয়ার চেষ্টা করছি না; আমি আপনাকে উত্তর দেওয়ার জন্য সময় গ্রহণ করার জন্য আমি প্রশংসা করি। তবে আমি মনে করি না যে আপনার উত্তর আমাকে সাহায্য করে। আমি একটি উপাদান মুছে ফেলার চেষ্টা করছি এবং একটি সিএমএস পৃষ্ঠায় একটি ব্লক যুক্ত করছি, তবে আমার পদ্ধতিটি কাজ করছে না — তাই আমি কাজ করতে এমন একটির জন্য জিজ্ঞাসা করছি। আমি বিন্যাস এবং টেম্পলেটগুলির সাধারণ উদ্দেশ্য সম্পর্কে সচেতন এবং আপনার "জিনিসগুলি সঠিকভাবে ব্যবহার করুন এবং এটি কাজ করবে" আমার প্রশ্নের উত্তর দেয় না।
ইজরাটিক

আপনি এই পৃষ্ঠাটি একটি "অন্যদের জন্য নিখরচায় চাকরি করুন" এর জন্য ভুল হয়ে গেছে। উত্তরটি বৈধ এবং সম্ভবত আপনি যা খুঁজছেন এবং একবার আপনি জানতে পারবেন কীভাবে জিনিসগুলি ম্যাজেন্টোতে কাজ করে আপনি এই উত্তরটি খুঁজে পাবেন এটি এই ক্ষেত্রে এগিয়ে যাওয়ার উপায়।
মবলপর্দা

এটি পড়ুন এবং আপনার প্রয়োজনীয়তার বেশিরভাগটি আপনি খুঁজে পাবেন: ম্যাজেন্টোকমার্স.com
জ্ঞান-

0

গৃহীত উত্তরের সমস্ত দিকনির্দেশগুলি বুঝতে আমার এক মিনিট সময় লেগেছিল, তাই এতে পিগি-ব্যাক করার জন্য, সমস্ত সিএমএস পৃষ্ঠাগুলির জন্য মোড়কের অপসারণের জন্য এটি প্রয়োজনীয় ছিল: <div class="std"></div>

সিএমএস.এক্সএমএলে, সিমস_পেজ ব্লকটি এতে পরিবর্তন করুন:

<cms_page translate="label">
    <label>CMS Pages (All)</label>
    <reference name="content">
        <block type="core/template" name="page_content_heading" template="cms/content_heading.phtml"/>
        <block type="cms/page" name="cms_page"/>
    </reference>
</cms_page>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.