でlist.phtml、他のモジュールから取得した子テンプレートの製品オブジェクトまたは製品IDを取得しようとしています。そのphtmlファイルで製品IDを取得するにはどうすればよいですか?
magento 1.xでは、次の方法で可能でした。magento 2.xで使用するとエラーが発生する
キャッチされないエラー:メンバー関数setData()の呼び出し
私のカスタムモジュールレイアウト
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="category.products.list">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">PR_Catalog::product/list.phtml</argument>
            </action>
            <block class="PR\Catalog\Block\Product\Offers" name="category.products.offers" as="offer_list" template="PR_Catalog::product/offers.phtml" />
        </referenceBlock>        
    </body>
</page>カスタムモジュールlist.phtmlファイル
<?php    foreach ($_productCollection as $_product){ ?>
<?php 
        $block->getChildBlock("offer_list")->setData("product", $_product);                            
        echo $block->getChildHtml('offer_list') 
?>
<?php } ?>ブロッククラスコードは
<?php
namespace PR\Catalog\Block\Product;
class Offers extends \Magento\Framework\View\Element\Template
{
    private $product;
    public function setProduct($product)
    {
        $this->product = $product;
    }
    public function getProduct()
    {
        var_dump($this->product);die;
      return $this->product;  
    }
}子ブロックphtmlファイル
<div class="other-offers">
   <?php echo $block->getProduct()->getId(); ?>
</div>