0

製品ページのクロスセル ブロックで、ダウンロード可能な製品のサンプル ファイル URL を取得しようとしています。

私の crosssell.phtml の内容

<?php $_helper = $this->helper('catalog/output'); ?>
<?php $_product = $this->getProduct(); ?>

    <?php if($_crossSellProducts = $_product->getCrossSellProducts()): ?>

    <div id="music-crosssell-modal" style="display:none;">
        <div class="modal-inner">
        <span id="music-crosssell-header">Featured Music</span>

    <ul id="music-crosssell-products-list">
    <?php foreach ($_crossSellProducts as $_item): ?>

        <?php $_item = Mage::getModel('catalog/product')->load($_item->getId()); ?>

        <li class="music-item paused" id="<?php echo urlencode($this->htmlEscape($_item->getSongTitle())) ?>">
                <span class="player">Loading...</span>
                <span class="track-title"><?php echo $this->htmlEscape($_item->getSongTitle()) ?> by </span> <span class="music-track-artist"><?php echo $this->htmlEscape($_item->getMusicianName()) ?></span>
                <button type="button" title="<?php echo $this->__('Buy Now') ?>" class="button btn-primary" onclick="setLocation('<?php echo $this->getAddToCartUrl($_item) ?>')">
                    <?php echo $this->__('Buy Now') ?>
                </button>
        </li>

        <?php
        $_myprodsamples = Mage::getModel('downloadable/sample');
        $_mySampleCollection = $_myprodsamples->getCollection()
        ->addProductToFilter($_item->getId());
        ?>

        <?php
        foreach ($_mySampleCollection as $_sample):
            $_samplelink = $this->getUrl('downloadable/download/sample/sample_id/'.$_sample->getId());
        ?>

        <?php echo Mage::getModel('downloadable/sample')->load($_samplelink)->getUrl() ?>

        <script type="text/javascript">
            jwplayer("#<?php echo urlencode($this->htmlEscape($_item->getSongTitle())) ?> .player").setup({
                flashplayer: "/skin/frontend/default/datura/js/jwplayer/player.swf') ?>",
                file: "<?php echo Mage::getModel('downloadable/sample')->load($sampleId)->getUrl() ?>",
                height: 25,
                width: 25,
                controlbar: "bottom"
            });
        </script>


        <?php
            endforeach;
        ?>



        <script type="text/javascript">
            jwplayer("#<?php echo urlencode($this->htmlEscape($_item->getSongTitle())) ?>").setup({
            flashplayer: "/skin/frontend/default/datura/js/jwplayer/player.swf') ?>",
            file: "",
            height: 25,
            width: 300,
            controlbar: "bottom"
            });
        </script>



    <?php endforeach; ?>
    </ul>
</div>
    <span id="music-crosssell-close-btn" class="close-modal-btn">X</span>
</div>

<?php endif; ?>
4

2 に答える 2

1

これを試すことができます:

$_myprodsamples = Mage::getModel('downloadable/link');
$_mySampleCollection = $_myprodsamples->getCollection()
                   ->addProductToFilter($_product->getId());
foreach ($_mySampleCollection as $_sample){
   echo $_samplelink = $this->getUrl('downloadable/download/linkSample/link_id/'.$_sample ->getId());
} 

これがうまくいくことを願っています

于 2012-08-10T12:24:37.833 に答える
0

を使用してサンプルデータ配列を取得することもできます

 <?php $sampleColl = Mage_Downloadable_Block_Catalog_Product_Samples::getSamples($_product); 
    foreach ($sampleColl as $_sample){  
        echo "<pre>";
        print_r($_sample);      
    }
  ?>

これがお役に立てば幸いです

于 2012-08-17T09:26:04.930 に答える