Ich arbeite in der Datei \ success.phtml mit dem Endziel, einen Tracking-Iframe auf der Bestätigungsseite zu platzieren.
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php /** @var $block \Magento\Checkout\Block\Onepage\Success **/?>
<div class="checkout-success">
<?php if ($block->getOrderId()):?>
<?php if ($block->getCanViewOrder()) :?>
<p><?= __('Your order number is: %1.', sprintf('<a href="%s" class="order-number"><strong>%s</strong></a>', $block->escapeHtml($block->getViewOrderUrl()), $block->escapeHtml($block->getOrderId()))) ?></p>
<?php else :?>
<p><?= __('Your order # is: <span>%1</span>.', $block->escapeHtml($block->getOrderId())) ?></p>
<?php endif;?>
<p><?= /* @escapeNotVerified */ __('We\'ll email you an order confirmation with details and tracking info.') ?></p>
<?php endif;?>
<?= $block->getAdditionalInfoHtml() ?>
<div class="actions-toolbar">
<div class="primary">
<a class="action primary continue" href="<?= /* @escapeNotVerified
*/ $block->getContinueUrl() ?>"><span><?= /* @escapeNotVerified */
__('Continue Shopping') ?></span></a>
</div>
</div>
</div>
<div>
<?php
$block_methods = get_class_methods($block);
?>
</div>
<script type="text/javascript">
var obj = <?php echo json_encode($block_methods); ?>;
console.log(obj);
</script>
Ich versuche, auf die Produkt- / Warenkorbinformationen der Bestellung zuzugreifen, daher habe ich wie oben gezeigt einen Aufruf von get_class_methods ($ block) ausgeführt. Die Ausgabe besagte, dass $ block 80 verschiedene Methoden hat, aber keine der aufgelisteten Methoden war getOrderId (), was mich verwirrt, da diese Methode in der Datei verwendet wird. Kann jemand das erklären? Wäre es auch möglich, aus einer anderen Datei auf die Methoden einer $ block-Klasse zuzugreifen? Ich bin ziemlich neu in der Codierung, daher bin ich ziemlich verwirrt.