คำถามติดแท็ก phtml

หมายถึงคำถามที่เกี่ยวข้องกับไฟล์เทมเพลต ".phtml`

6
Magento 2: การเปลี่ยนเทมเพลตของบล็อก
ใน Magento 1 ในฐานะนักพัฒนาโมดูลคุณสามารถเปลี่ยนเทมเพลตของบล็อกโดยใช้โค้ด XML ของเลย์เอาต์แบบนี้ <reference name="block_to_change"> <action method="setTemplate"> <param>/path/to/template.phtml</param> </action> </reference> จากนั้นเพิ่มแม่แบบของคุณไปยังชุดรูปแบบพื้นฐาน app/design/frontend/base/default/template/path/to/template.phtml เป็นไปได้ว่าในฐานะผู้พัฒนาโมดูลเพื่อทำสิ่งที่คล้ายกันใน Magento 2? หรือฉันจะต้องใช้เลย์เอาต์ XML หรือโค้ด PHP เพื่อลบบล็อกที่ฉันสนใจและแทรกบล็อกใหม่ด้วยเทมเพลตอื่น (ซึ่งคลาสจะขยายคลาสบล็อกเดิม) ฉันรู้ว่าฉันสามารถสร้างชุดรูปแบบที่กำหนดเองที่แทนที่แม่แบบได้ แต่ฉันสนใจที่จะสร้างโมดูลที่เปลี่ยนแม่แบบเริ่มต้น แต่ก็ยังอนุญาตให้ใช้ธีมที่กำหนดเองแทนแม่แบบนั้นได้

6
เพิ่มรูปแบบคงที่ในหน้า PHTML และบล็อก CMS: Magento2
ฉันจะเพิ่มรูปภาพนิ่งบนหน้า PHTML และบล็อก CMS ลงใน Magento2 ได้อย่างไร ใน Magento 1.x มันเป็นไปได้ที่จะใช้$this->getSkinUrl('images/xyz.jpg') ฉันกำลังลองวิธีต่อไปนี้ใน Magento2 ในไฟล์ HTML: <img src=”<?php echo $this->getViewFileUrl(‘images/footer-logo.png’); ?>” alt=”Demo”> ในบล็อก CMS: <img src=”{{view url=”images/slide-bg.jpg”}}” alt=”” /> แต่มันทำงานไม่ถูกต้อง กรุณาแนะนำฉันผิดพลาดของฉัน

2
เทมเพลต Magento 2: ใช้ `$ block` หรือ` $ this`?
ใน Magento 2 $thisตัวแปรจะไม่อ้างอิงไปยังวัตถุบล็อกของเทมเพลตอีกต่อไป มันหมายถึงคลาสแม่แบบ Magento\Framework\View\TemplateEngine\Php อย่างไรก็ตามคลาสเทมเพลตนี้มี__callวิธีการส่งผ่าน #File: vendor/magento/framework/View/TemplateEngine/Php.php public function __call($method, $args) { return call_user_func_array([$this->_currentBlock, $method], $args); } ซึ่งทำให้แน่ใจว่าการเรียกใช้เมธอดทำให้ผ่านไปยังบล็อกจริง สิ่งนี้ยังอธิบายว่าทำไมคุณไม่สามารถเรียกวิธีการป้องกันจากphtmlแม่แบบ นอกจากนี้แม้ว่าทุกแม่แบบ (ฉันคิดว่า?) มีตัวแปรชื่อ$blockเติมซึ่งยังหมายถึงวัตถุบล็อกผู้ปกครอง คุณสามารถดูสิ่งนี้ได้ในแม่แบบรายการของ Magento #File: vendor/magento/module-catalog/view/frontend/templates/product/list.phtml //... $_productCollection = $block->getLoadedProductCollection(); ที่ใช้$blockตัวแปร แต่ไม่เคยกำหนดไว้อย่างชัดเจน นอกเหนือจากความแตกต่างที่กล่าวถึงข้างต้นมีความแตกต่างระหว่างการใช้เทคนิคหนึ่งกับอีกเทคนิคหนึ่งหรือไม่? คือทำทั้งสองอย่าง$blockและ$this->currentBlockอ้างถึงวัตถุเดียวกันหรือไม่?

5
ส่งข้อมูลจากคอนโทรลเลอร์ไปยัง phtml
ฉันมีตัวควบคุมนี้: ... public function insertAction() { $something = 'testcase'; $this->loadLayout(); $this->_title($this->__("the title")); $this->renderLayout(); } ... ฉันต้องการเข้าถึง$somethingเอกสาร. phtml ของฉันฉันจะทำอย่างไร (หรือใช้วิธีอื่น: ฉันจะเข้าถึง$somethingไฟล์. phtml ของฉันได้อย่างไร)

3
magento 2: ฉันต้องการแสดงรูปภาพในไฟล์เทมเพลตโมดูล HTML
ฉันต้องการแสดงภาพในไฟล์เทมเพลตโมดูล เมื่อใครบางคนติดตั้งโมดูลของฉันเขาจะเห็นภาพนั้น ฉันสามารถเก็บภาพไว้ในไดเรกทอรีโมดูลได้หรือไม่?

4
วิธีรับเส้นทางไดเรกทอรีรูตใน phtml magento 2
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager->get('\Magento\Store\Model\StoreManagerInterface'); $mediaPath = $fileSystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA)->getAbsolutePath(); มันส่งคืนเส้นทางสื่อ วิธีรับรูทพา ธ ของโครงการในหน้า phtml

5
วิธีเรียกใช้เมธอดตัวช่วยเหลือในไฟล์. phtml
พยายามพัฒนาบางอย่างด้วย magento 2 แต่ฉันไม่พบวิธีเรียกใช้ Helper ในไฟล์ template (.phtml) ฉันต้องการเปลี่ยนรหัสด้านล่าง: $this->helper('modulename/helpername')->methodname(); หากใครรู้โปรดช่วยฉัน
16 magento2  phtml  helper 

2
เรียกบล็อกแบบคงที่ใน view.phtml ติดตั้งไฟล์ phtml
เรากำลังแสดงฟิลด์ข้อความในหน้ามุมมองเพื่อตรวจสอบความพร้อมใช้ของ COD view.phtml echo $this->getLayout()->createBlock('core/template')->setTemplate('checkdelivery/checkdelivery.phtml')->toHtml(); ในview.phtmlเรากำลังเรียกไฟล์ด้านล่าง แต่ฉันต้องการเรียกตัวระบุบล็อกแบบคงที่ [รหัสตัวระบุ - ตรวจสอบ] แทนไฟล์ด้านล่าง แม่แบบ / checkdelivery / checkdelivery.phtml <div class="block block-list block-check-delivery"> <div class="block-title"> <?php $blockLabel = Mage::getStoreConfig('checkdelivery/general/block_title'); ?> <strong><span><?php echo $this->__($blockLabel) ?></span></strong> </div> <div class="block-content" > <br> <input name="zipcode" size="17" type="text" id="zipcode" value="<?php echo Mage::getModel('core/cookie')->get('zip'); ?>" maxlength="10" class="input-text" placeholder="<?php echo $this->__('Enter …

2
วิธีการทำให้ไฟล์. html เอียงและทำความสะอาด
เนื่องจากนามสกุลไฟล์แนะนำว่า.phtmlไฟล์อนุญาตให้ใช้โค้ด PHP ผสมกับ HTML ได้ แต่ความจริงที่ว่าคุณสามารถไม่ควรถูกมองว่าเป็นใบอนุญาตในการไปป่า ทำไมเรายังคงเห็นไฟล์. php มากมายเต็มไปด้วย PHP จำนวนมาก? และอะไรคือวิธีที่ดีในการลดปริมาณ PHP ใน.phtmlไฟล์
14 php  blocks  template  phtml 

1
Magento 2 Override เทมเพลตส่วนหัวเริ่มต้น
ฉันสร้างธีมของตัวเองด้วยการขยายMagento/Blankธีม ตอนนี้ต้องการแทนที่ไฟล์ส่วนหัวเริ่มต้นแม่แบบlink.phtml, topmenu.phtml,header.phtmlซึ่งตั้งอยู่ที่vendor/module-theme/view/frontend/templatesในรูปแบบของฉัน ธีมของฉันตั้งอยู่ที่ app/design/frontend/MyModule/MyTheme ดังนั้นโปรดแจ้งให้เราทราบว่าฉันสามารถลบล้างและสิ่งที่จะเป็นโครงสร้างสำหรับมัน

3
Magento 2 รับผลรวมการสั่งซื้อในหน้าสำเร็จหรือไม่
ฉันพยายามที่จะรับผลรวมการสั่งซื้อในหน้าความสำเร็จใน magento 2 ฉันได้เพิ่มรหัสนี้ <?php $order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); $totall = $order->getGrandTotal(); ?> แต่ฉันได้รับข้อผิดพลาดเมื่อฉันไปถึงหน้าความสำเร็จหลังจากที่ฉันสั่งซื้อฉันเดาว่ารหัสนี้ใช้ได้กับวีโอไอพี 1 แต่ไม่ใช่ 2 ฉันจะทำงานนี้ในวีโอไอพี 2 ได้อย่างไร

1
Magento 2 เราจะรับ URL ผลิตภัณฑ์พร้อมการรวบรวมผลิตภัณฑ์ได้อย่างไร
ฉันสามารถโหลดชุดผลิตภัณฑ์โดยใช้ [$objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection')] ในไฟล์ phtml ของฉัน แต่ใน url ผลิตภัณฑ์คอลเลกชันนั้นไม่มีเราจะได้รับ url ของผลิตภัณฑ์ด้วยคอลเลกชันนั้นได้อย่างไร

4
Magento 2 - แทนที่ไฟล์มุมมองพื้นฐาน
ฉันกำลังพัฒนาชุดรูปแบบ Magento 2.0 ฉันพยายามเปลี่ยนพฤติกรรมของคลาสภาษีที่ส่วนหน้า ไฟล์ที่ฉันต้องการเปลี่ยนอยู่ในแอพ / รหัส / Magento / ภาษี / ดู / ฐาน / แม่แบบ / การกำหนดราคา / adjustment.phtml ฉันจะแทนที่มุมมองนี้จากชุด Magento ของฉันได้อย่างไร ขอบคุณ

2
Magento 2: การส่งผ่านตัวแปรจากแอคชั่นคอนโทรลเลอร์ไปที่“ ดู”
ใน Magento 1 หากคุณต้องการส่งผ่านข้อมูลจากแอ็คชั่นคอนโทรลเลอร์ของคุณไปยัง "มุมมอง" (เช่นบล็อกในเลย์เอาต์ของคุณคุณสามารถทำได้) เพิ่มค่า / วัตถุให้กับรีจิสตรีส่วนกลางผ่าน Mage::register ดึงวัตถุบล็อกโดยตรงและตั้งค่าคุณสมบัติข้อมูลบนวัตถุบล็อกที่ถูกดึงข้อมูลหลังจากเรียกใช้ loadLayout วิธีการโทรบนบล็อกวัตถุในphtmlไฟล์และให้วัตถุบล็อกใช้เลเยอร์โมเดล / ฐานข้อมูลเพื่ออ่านข้อมูลที่บันทึกไว้ก่อนหน้านี้ในแอคชั่นคอนโทรลเลอร์ การใช้วิธีการบล็อกวัตถุเพื่ออ่านจากฐานข้อมูลยังคงปรากฏว่าทำงานได้ใน Magento 2 - ซึ่งเหมาะสำหรับการใช้งานบางประเภท อย่างไรก็ตาม ไม่มีการลงทะเบียนระดับโลกใน Magento 2 อีกต่อไป (หรือมีอยู่แล้ว) ตอนนี้ระบบเลย์เอาต์ทำงานโดยการสร้างวัตถุหน้าผ่านโรงงานและคุณไม่สามารถคว้าการอ้างอิงบล็อกแบบเดียวกับที่คุณทำได้ใน Magento 1 เป็นไปได้ไหมใน Magento 2 ที่จะส่งผ่านข้อมูลโดยตรงจากคอนโทรลเลอร์ลงสู่มุมมอง? หรือนี่เป็นรูปแบบที่ตรงกับโลกแห่ง Design Pattern ™ที่กล้าหาญของวีโอไอพีหรือไม่? หากนี่เป็นรูปแบบที่ตรงเกินไปสิ่งที่ควรทำถ้ามีข้อมูลจากการคำนวณบางอย่างที่เราต้องการแสดงในเทมเพลต แต่ไม่ต้องการเก็บข้อมูลนั้นไว้ในระบบ stateful (เช่นเราไม่ต้องการบันทึกลงใน ฐานข้อมูล) ฉันสามารถคิดถึงวิธีที่แตกต่างกันเล็กน้อยในการแฮ็คข้อมูลนี้ด้วยตนเอง - แต่ฉันสนใจว่า Magento 2 ต้องการให้คุณทำอย่างไร หมายเหตุ : …

4
Magento 2 รับใบเสนอราคาตะกร้าสินค้าทั้งหมดใน minicart.phtml
ฉันกำลังพยายามที่จะรับใบเสนอราคาทั้งหมดใน minicart.phtml แต่ฉันไม่มีโชค ฉันกำลังฉีด Magento \ Checkout \ Model \ Cart นี่คือรหัสของฉัน: $this->cart = $cart; $cartQuote= $this->cart->getQuote()->getData(); echo $cartQuote['base_grand_total']; หลังจากที่ฉันเรียกใช้รหัสนั้น minicart จะแตกและหายไปจากส่วนหน้าโดยสิ้นเชิง ขอบคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.