タグ付けされた質問 「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に次の方法を試しています Phtmlファイル内: <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 ただし、このテンプレートクラスにはpassthrough __callメソッドがあります #File: vendor/magento/framework/View/TemplateEngine/Php.php public function __call($method, $args) { return call_user_func_array([$this->_currentBlock, $method], $args); } これにより、メソッド呼び出しが実際のブロックに到達するようになります。また、phtmlテンプレートから保護されたメソッドを呼び出せない理由も説明します。 ただし、これに加えて、すべての(と思う?)テンプレートには、$blockpopulated という名前の変数があり、これは親ブロックオブジェクトも参照します。これは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ファイルでどのようにアクセスできますか)


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で何かを開発しようとしています。しかし、template(.phtml)ファイルでヘルパーメソッドを呼び出す方法が見つかりませんでした。 以下のコードの置き換えが必要です: $this->helper('modulename/helpername')->methodname(); 誰もが知っていれば助けてください。
16 magento2  phtml  helper 

2
phtmlファイルの代わりにview.phtmlの静的ブロックを呼び出す
ビューページにテキストフィールドを表示して、CODの可用性を確認しています。 view.phtml echo $this->getLayout()->createBlock('core/template')->setTemplate('checkdelivery/checkdelivery.phtml')->toHtml(); でview.phtml、私たちは、ファイルの下に呼びかけています。しかし、私 は以下のファイルの代わりに静的ブロック識別子 [識別子コード-チェック] を呼び出したいです。 template / 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 ZIP Code'); ?>"/> …

2
.phtmlファイルを無駄のないきれいな状態に保つ方法
そのファイル拡張子が示唆するように、.phtmlファイルはPHPコードをHTMLと混合することを可能にします。ただし、あなたがワイルドになるライセンスとして見られるべきではないという事実。 多くの.phtmlファイルが多くのPHPでいっぱいになっているのはなぜですか?そして、.phtmlファイル内のPHPの量を減らすための良いアプローチは何ですか?
14 php  blocks  template  phtml 

1
Magento 2のデフォルトのヘッダーテンプレートの上書き
テーマを拡張して独自のテーマを作成しました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(); ?> しかし、注文後に成功ページに到達するとエラーが発生します。コードはmagento 1で機能しますが、2では機能しないと思います。これをmagento 2でも機能させるにはどうすればよいですか?

1
Magento 2製品コレクションで製品のURLを取得するにはどうすればよいですか?
を使用して製品コレクションをロードできます [$objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection')] 私のphtmlファイルにありますが、そのコレクションには製品URLがありませんが、そのコレクションでも製品URLを取得する方法はありません。

4
Magento 2-ベースビューファイルを上書き
私は現在Magento 2.0テーマを開発しています。フロントエンドの税クラスの動作を変更しようとしています。変更する必要があるファイルはapp / Code / Magento / Tax / view / base / templates / pricing / adjustment.phtmlにあります。 Magentoテーマからこのビューをオーバーライドするにはどうすればよいですか? ありがとう

2
Magento 2:コントローラーアクションから「表示」に変数を渡す
Magento 1で、コントローラーアクションから「ビュー」にデータを渡す場合(レイアウトのブロックなど) 経由でグローバルレジストリに値/オブジェクトを追加します Mage::register 実行後にブロックオブジェクトを直接フェッチし、フェッチしたブロックオブジェクトにデータプロパティを設定します loadLayout phtmlファイル内のブロックオブジェクトのメソッドを呼び出し、ブロックオブジェクトにモデル/データベースレイヤーを使用して、コントローラーアクションで以前に保存されたデータを読み取らせる ブロックオブジェクトメソッドを使用してデータベースから読み取ることは、Magento 2でも引き続き機能するようです。これは、特定の種類の操作に適しています。しかしながら、 Magento 2にはグローバルレジストリがありません(またはありますか?) レイアウトシステムは、ファクトリを介してページオブジェクトを作成することで機能するようになりました。Magento1と同じ方法でブロック参照を取得することはできません。 Magento 2では、コントローラーアクションからビューに直接データを渡すことはできますか?それとも、これはMagentoの勇敢な新しいDesign Pattern™の世界のパターンでもありますか?これがあまりにも直接的なパターンである場合、テンプレートに表示したい計算された情報があるが、その情報をステートフルシステムに保存したくない場合(つまり、データベース) 私はこれを自分で一緒にハックするいくつかの異なる方法を考えることができますが、Magento 2 がどのようにあなたにそれを望んでいるかに興味があります。 注:このようなものを使用して、コントローラーアクションでブロックインスタンスをフェッチすることが可能であることを認識しています $resultPage = $this->resultPageFactory->create(); $block = $resultPage->getLayout()->getBlock('catalog.wysiwyg.js'); var_dump(spl_object_hash($block)); Magento 2コアコードはこれを頻繁に行います。しかしながら-ブロックオブジェクトがコントローラオブジェクトにフェッチと思わに利用可能であるとは異なるオブジェクトphtmlのいずれかを介してテンプレート$thisまたは$block(前者($this後(一方、実際にテンプレートを描画オブジェクトであると思われる)$block)があるように思われますMagento Blockタイプのインスタンス)。 #File: path/to/template.phtml var_dump(spl_object_hash($block)); var_dump(spl_object_hash($this)); コントローラーアクションメソッドにデータを設定すると、phtmlテンプレートでデータが利用できなくなり、spl_object_hash上記の結果を比較すると、3つの異なるハッシュが得られるため、「あるように見えます」と言います。しかし、私はこれに十分慣れていないので、上記のエラーは他のエラーになる可能性があります。したがって、ブロックにデータを設定してテンプレートで取得できた場合は、それについて聞いてみたいです!

4
Magento 2 minicart.phtmlでカート見積もりの​​合計を取得
カートの見積もりの​​合計をminicart.phtmlで取得しようとしていますが、うまくいきません。Magento \ Checkout \ Model \ Cartを注入しています。 これが私のコードです: $this->cart = $cart; $cartQuote= $this->cart->getQuote()->getData(); echo $cartQuote['base_grand_total']; そのコードを実行した後、ミニカーは壊れ、フロントエンドから完全に消えます。 ありがとう!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.