PHP字符串问题

时间:2011-05-20 12:54:04

标签: php

这可能是一个非常简单的答案......

我有一段代码,我需要提取一些信息。

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('XXXX')->toHTML();?>

为此,我需要XXXX部分来提取以下查询的结果:

<?php echo $_product->getAttributeText('warranty') ?>

因此,上述查询的输出将成为进入XXXX所需的信息。

这个标记在下面是完全错误的,但应该证明我想要实现的想法:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('<?php echo $_product->getAttributeText('warranty') ?>')->toHTML();?>

4 个答案:

答案 0 :(得分:3)

你在代码中只有一个冗余的PHP开放&lt;?php。您已经在PHP上下文中,因此您可以直接进行该调用。

<?php  echo
$this->getLayout()->createBlock('cms/block')->setBlockId($_product->getAttributeText('warranty'))->toHTML();?>

然而,这非常复杂且难以调试。我会将它分成几行并使用变量...记住你可以在那个上下文中完成它,你不一定只在一行中做所有事情:)

答案 1 :(得分:1)

可能很简单:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($_product->getAttributeText('warranty'))->toHTML();?>

如果没有那么我非常想知道setBlockId函数需要什么样的var(array,int,string,double等)以及$ _product-&gt; getAttributeText返回的内容。

答案 2 :(得分:1)

echo $this->getLayout()->createBlock('cms/block')->setBlockId($_product->getAttributeText('warranty'))->toHTML();?>

答案 3 :(得分:1)

<?php 
 echo $this->getLayout()
          ->createBlock('cms/block')
          ->setBlockId($_product->getAttributeText('warranty'))
          ->toHTML();
?>