在 echo 语句中回显字符串?

问题描述 投票:0回答:4

这可能是一个非常简单的问题......

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

<?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();?>
php echo return-value
4个回答
3
投票

你只是有一个多余的 PHP 开口

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

但是,这相当复杂且难以调试。我会将其分成几行并使用变量...请记住,您可以在该上下文中执行此操作,您不必只在一行中完成所有操作:)


1
投票

也许很简单:

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

如果没有,那么我非常想知道 setBlockId 函数需要什么样的 var(数组、int、字符串、double 等)以及 $_product->getAttributeText 返回什么。


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

1
投票
<?php 
 echo $this->getLayout()
          ->createBlock('cms/block')
          ->setBlockId($_product->getAttributeText('warranty'))
          ->toHTML();
?>
© www.soinside.com 2019 - 2024. All rights reserved.