如何使用条件回声
问题描述:
我有一种形式来添加产品到购物车,并且里面有一个链接。如何使用条件回声
这是链接
<?php
echo $this->Html->link('<div class="single-products">'.'<div class="productinfo text-center myimg">'.$this->Html->image("product/".$row["Product"]["photo"],array(/*"width"=>"2500px",*/"height"=>"250px")).'<h2> ₹ '.$row["Product"]["price"].'</h2>'.'<p>'.$row["Product"]["name"]."</p><a href='javascript:document.ff".($i++).".submit()' class='btn btn-default add-to-cart'><i class='fa fa-shopping-cart'></i>Add to cart</a>".'</div>'.'</div>',
array
(
'controller'=>'Public',
'action'=>'singleproduct?id='.$row["Product"]["id"],
),
array
(
'escape'=>false //NOTICE THIS
)
);
?>
而且我想用这个代码略高于Add to cart
按钮
<?php
if($row["Product"]["psize"]==1)
{
?>
Size<select name="psize">
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
</select>
<?php
}
elseif($row["Product"]["psize"]==2)
{
?>
Size<select name="psize">
<option value="28">28</option>
<option value="30">30</option>
<option value="32">32</option>
<option value="34">34</option>
</select>
<?php
}
?>
,如果我把它放在这个HTML辅助环节之外这个代码工作,但由于设计问题,我想显示它只是在添加到购物车按钮 我试过,但无法弄清楚如何把这个内部链接。
答
<?php
if($row["Product"]["psize"]==1)
{
?>
Size<select name="psize">
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
</select>
<?php
} else{
if($row["Product"]["psize"]==2){
?>
Size<select name="psize">
<option value="28">28</option>
<option value="30">30</option>
<option value="32">32</option>
<option value="34">34</option>
</select>
<?php
} else{
echo "TEY IT"
}
}
?>
可能会失去帮助。
答
在函数$this->Html->link()
中引出您的代码,将其分配给一个变量并使用if
条件。我想你应该使用CakePHP Form Helper来输出选择框。
例子:
<?php
$select = $this->Form->input('psize', array(type => 'select', 'options' => $sizeOptions)); // you can use if conditions here
$link = $this->Html->link('<div>...</div>' . $select . '<div>...</div>', $yourUrlArr);
echo $link;
如果你使用否则只能代替ELSEIF的。 –
并尝试删除“==”为“=”。 –
谢谢大家,但我soved我的问题。我从链接中删除购物车按钮,并把它放在外面,然后我能够使用上面的购物车按钮上面的代码。 – Vky