2012-12-05 18 views
0

我想要將自定義文本字段屬性回顯到URL鏈接。如何回顯自定義文本字段屬性,而不是產品網址

我有一個帶有URL鍵「my-page」的CMS頁面,所以我爲一個產品創建了一個名爲「cmspageid」的文本字段,並將URL鍵「my-page」添加到文本字段中。

這裏是整個腳本:

<div class="new-product-content"> 
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?> 
    <h3 class="subtitle new-products"><?php echo $this->__('HOT PRODUCTS') ?></h3> 
    <?php $_columnCount = $this->getColumnCount(); ?> 
    <?php $i=0; foreach ($_products->getItems() as $_product): ?> 
    <?php if ($i++%$_columnCount==0): ?> 

    <ul> 
    <?php endif ?> 
    <li class="thumb<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>"> 
      <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" ><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(175) ?>" width="175" height="175" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /> 
      </a> 
       <div class="caption">  
        <h4 class="product-name"> <?php $_productName = $this->helper('core/string')->truncate($this->htmlEscape($_product->getName()),20,'...', $_remainder, true); ?> 
        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productName ?>"> 
        <?php echo $_productName ?><?php echo $this->__('&#8482;'); ?></a></h4> 
        <?php echo $this->getPriceHtml($_product, true, '-new') ?> 
         <div class="clearfix"></div> 
        <div class="desc">     
        <?php $sdesc = $_product->getShortDescription(); 
        $sdesc = trim($sdesc); 
        $limit = 180; 
        if (strlen($sdesc) > $limit) { 
         $sdesc = substr($sdesc, 0, strrpos(substr($sdesc, 0, $limit), ' ')); 
        } ?> 
        <?php echo $sdesc."..."; ?> 
        </div> 
       <div class="clearfix"></div> 
<div class="btn-group"> 
    <button class="btn" type="button" title="<?php echo $this->__('Add to Cart') ?>" onclick="setLocation('<?php echo $this->getProductUrl($_product) ?>')"><?php echo $this->__('Order now...') ?></button> 
    <button class="btn-link" type="button" title="<?php echo $this->__('More info') ?>" onclick="setLocation('<?php echo $this->getProductUrl($_product) ?>')"><?php echo $this->__('More info?') ?></button> 

     </li> 
     <?php if ($i%$_columnCount==0 || $i==count($_products)): ?> 
    </ul> 
    <div class="clearfix"></div> 
<?php endif ?> 
<script type="text/javascript"> 
$j('.thumb li').last().css('border-right', 'none'); 
</script> 
<script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script> 
<?php endforeach; ?> 
<?php endif; ?> 
<div class="clearfix"></div> 
</div> 

現在我需要包括cmspageid getProductUrl代替:

<button class="btn-link" type="button" title="<?php echo $this->__('More info') ?>" onclick="setLocation('<?php echo $this->getUrl('')?><?php echo $_product->getCmspageid() ?>')"><?php echo $this->__('More info?') ?></button> 

鏈接被點擊所以,當正確的CMS頁面加載。

如果有人能給我們一個手,我會很感激。

非常感謝

+0

也張貼您的HTML代碼。 – bipen

+0

您需要根據產品的自定義屬性調用URL? – Guerra

+0

是的,而不是調用產品的URL,即mysite.com/myproduct.html我想呼應文本字段的值,即mysite.com/mycustomattribute,這是因爲我的CMS頁面的url密鑰將被添加到自定義屬性文本字段,所以CMS頁面將加載...希望是有道理的? – user1704524

回答

0

我的問題在某種程度上得到屬性的文本作爲URL的foreach產品的一部分。自從我使用catalog/product_new以來,我無法回顯屬性文本,因爲Magento只允許在catalog/product_view頁面上顯示屬性!

我不得不修改new.php文件在行114加入這一行:

- > addAttributeToSelect( 'cmspageid')

然後在new.phtml文件,其中我有「更多信息> __( '?更多信息');的onclick = 「setLocation( '?> getCmspageid()')」, 「?按鈕I從 'cmspageid'

__( '更多信息')>呼應值」 ?>

現在我有一個「立即訂購」按鈕和每個產品的「更多信息」按鈕。點擊「更多信息」後,用戶將轉到CMS頁面,顯示該產品的詳細信息...

Phew!

0

你應該嘗試類似的東西:

<a href="{{store url=""}}<?php echo $_product->getCmspageid() ?>">Link Here</a> 
+0

謝謝你的迴應。我相信我們非常接近,我已經推薦了代碼,但頁面只是重新加載自己,見上面^代碼編輯 – user1704524

+0

在您的產品cmspageid上,您需要保存完整的cms頁面引用。 – Guerra

+0

@RS我已經做了類似的地方,我創建了一個使用文本字段的videoid屬性,只是在URL中回顯它以顯示CMS頁面上的youtube視頻''同樣的方法應該適用我相信但我無法得到它上班???? – user1704524

相關問題