প্রকৃতপক্ষে, আপনার .phtml
মধ্যে পিএইচপি কম তত ভাল, কারণ:
- পিএইচপি এবং এইচটিএমএল এর মিশ্রণ পৃথক পৃথকভাবে তাদের প্রত্যেকের চেয়ে আরও বেশি বোঝা শক্তিশালী, বিশেষত তাদের মধ্যে কেবল একটির সাথে আরামদায়ক (যেমন ফ্রন্ট-এন্ড ডিজাইনার)
- এটি ব্রাউজারে যা উপস্থাপন করা উচিত তা থেকে দূরে ব্লকটিতে সার্ভার কোডের সাথে ইন্টারঅ্যাকশন স্থাপন করার যৌক্তিক ধারণা তৈরি করে - এটি পুরানো "উদ্বেগের বিচ্ছেদ" মন্ত্র।
ম্যাজেন্টো কোর ফাইলটি /app/design/frontend/base/default/template/catalog/product/price.phtml
একটি বেদনাদায়ক কেস। এই এইচটিএমএল "উপস্থাপনা" কোড একটি দাম প্রদর্শন করে। এটি দীর্ঘ 471 লাইন! বেশিরভাগ ক্ষেত্রে পিএইচপি যুক্তির কারণে।
আপনার ঝোঁক .phtml
এবং পরিষ্কার করতে:
এর অপ্রয়োজনীয় ক্রমগুলি এড়িয়ে চলুন <?php … ?>
, একক সাথে খণ্ডগুলিতে তাদের একসাথে বান্ডিল করুন<?php … ?>
পিএইচপিটিএল না করে ব্লকের মধ্যে যতটা সম্ভব পিএইচপি চাপুন
উপরের সাহায্যে, ব্লকে assign(‘myvar’,
[expression])
ph ভেরিয়েবলগুলি তৈরি করতে ব্যবহার করুন $this->...
যা। পিএফটিএমএল ছাড়াই উল্লেখ করা যেতে পারে
, যাতে আপনি সত্যিই সংক্ষিপ্ত হতে পারেন<?php echo $myvar; ?>
এমনকি আরও পরিচ্ছন্ন চেহারার জন্য ভবিষ্যতে ম্যাগেন্তোকে ট্যুইগ অবলম্বন করতে চান
উপরের উদাহরণের মূল কোড থেকে স্নিপেটে উপরেরটি প্রয়োগ করুন: /app/design/frontend/base/default/template/catalog/product/price.phtml
<?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()): ?>
<?php $_minimalPriceDisplayValue = $_minimalPrice; ?>
<?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?>
<?php $_minimalPriceDisplayValue = $_minimalPrice+$_weeeTaxAmount; ?>
<?php endif; ?>
….
<?php echo $_coreHelper->currencyByStore($_minimalPriceDisplayValue, $_storeId, true, false) ?>
প্রথম পদক্ষেপ: <?php … ?>
এই জাতীয় কিছুতে আসার পুনরাবৃত্তিটি সরান :
if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()) {
$_minimalPriceDisplayValue = $_minimalPrice;
if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, array(0, 1, 4))) {
$_minimalPriceDisplayValue = $_minimalPrice+$_weeeTaxAmount;
}
…
echo $_coreHelper->currencyByStore($_minimalPriceDisplayValue, $_storeId, true, false)
?>
উপরের সমস্ত কোড পিএইচপি একটি একক ব্লব মধ্যে রাখে।
2 + 3. এখনও আরও ভাল কিছুতে বিকশিত হয়ে, এই কোডটিকে এর ব্লকে স্থানান্তর করুন:
protected function _prepareLayout() {
$this->assign(‘minPrice’, $this->calculateMinPrice(…));
}
protected function calculateMinPrice(…) {
if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue < $_product->getFinalPrice()) {
// etc...
}
}
এর ব্যবহার _prepareLayout()
এবং এর জন্য assign()
কার্যাদি নোট করুন ।
এখন .পিফটিএমএলের সংশ্লেষিত অংশটি কেবল এই সাধারণ লাইনে হ্রাস করা যেতে পারে:
<?php echo $minPrice; ?>
আমি মনে করি আমরা সবাই তা নিয়ে বাঁচতে পারি!