我正在尝试将自定义文本字段属性回显到网址链接中。
我有一个带有网址密钥“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->__('™'); ?></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 :(得分:0)
你应该尝试类似的东西:
<a href="{{store url=""}}<?php echo $_product->getCmspageid() ?>">Link Here</a>
答案 1 :(得分:0)
我的问题是以某种方式将属性文本作为URL foreach产品的一部分。由于我使用的是catalog / product_new,因此我无法回显属性文本,因为Magento只允许在catalog / product_view页面上显示属性!
我必须修改第114行的new.php文件,添加以下行:
- &gt; addAttributeToSelect('cmspageid')
然后在new.phtml文件中,我有“更多信息”按钮,我回复了'cmspageid'中的值
__('更多信息')?&gt;“onclick =”setLocation('getCmspageid();?&gt;')“&gt; __('更多信息?') ?&GT;
现在我有一个“立即订购”按钮和每个产品的“更多信息”按钮。点击“更多信息”后,用户将转到显示该产品完整详细信息的CMS页面...
呼!