我正在使用Jade和PHP构建一个网站,并且我不能在我的Jade文件中包含多行PHP脚本,因为它会抛出缩进错误。
这将是我的代码示例:
p.base Somos una empresa de distribución de Temped ea nos mi, sequam autecer spernat essimos dolorepud
ul.grilla-productos-home
<?php
$sql = "SELECT a.IdProducto,a.NombreCorto,a.Descripcion as Descripcion,a.precioUnitario,a.Imagen,b.Descripcion as Categoria,c.Descripcion as SubCategoria FROM productos a, categoria b, subcategoria c WHERE a.IdCategoria=b.idCategoria AND a.IdSubCategoria=c.IdSubCategoria limit 12";
$resultados = $pdo->query($sql);
while ($registro = $resultados->fetch(PDO::FETCH_ASSOC)) {
echo "<li class='producto'><ul class='producto-componentes'><li class='imagen-producto'><img src=" . $registro['Imagen'] . "alt='Sanitarios'/></li><li class='titulo-producto'>" . $registro["NombreCorto"] . "</li></li><li class='Material-producto'><p class='titulo-divisor-producto'>Material</p><p class='material-producto'>" . $registro['Descripcion'] . "</p></li><li class='precio-producto'>$" . $registro['precioUnitario'] . "</li><a href='detalle.php?Id=" . $registro['IdProducto'] . "'class='cta-ghost main'>Ver detalles</a> </ul></li>";
}
?>
li.producto
当它尝试编译上面的代码时,它会抛出错误:
unexpected token "indent"
指向我脚本的第二行(“$ sql ...”)
由于这个问题,我被迫将脚本缩小为一行,这使得他们之后很难编辑。
有没有办法在Jade模板中包含多行内联脚本?有没有更好的做法让PHP脚本在Jade中运行?
谢谢!
答案 0 :(得分:1)
只需将您的php作为纯文本加上
p.base Somos una empresa de distribución de Temped ea nos mi, sequam autecer spernat essimos dolorepud
ul.grilla-productos-home
| <?php
| $sql = "SELECT a.IdProducto,a.NombreCorto,a.Descripcion as Descripcion,a.precioUnitario,a.Imagen,b.Descripcion as Categoria,c.Descripcion as SubCategoria FROM productos a, categoria b, subcategoria c WHERE a.IdCategoria=b.idCategoria AND a.IdSubCategoria=c.IdSubCategoria limit 12";
| $resultados = $pdo->query($sql);
| while ($registro = $resultados->fetch(PDO::FETCH_ASSOC)) {
| echo "<li class='producto'><ul class='producto-componentes'><li class='imagen-producto'><img src=" . $registro['Imagen'] . "alt='Sanitarios'/></li><li class='titulo-producto'>" . $registro["NombreCorto"] . "</li></li><li class='Material-producto'><p class='titulo-divisor-producto'>Material</p><p class='material-producto'>" . $registro['Descripcion'] . "</p></li><li class='precio-producto'>$" . $registro['precioUnitario'] . "</li><a href='detalle.php?Id=" . $registro['IdProducto'] . "'class='cta-ghost main'>Ver detalles</a> </ul></li>";
| }
| ?>
li.producto
将产生
<p class="base">Somos una empresa de distribución de Temped ea nos mi, sequam autecer spernat essimos dolorepud
<ul class="grilla-productos-home"> </ul><?php
$sql = "SELECT a.IdProducto,a.NombreCorto,a.Descripcion as Descripcion,a.precioUnitario,a.Imagen,b.Descripcion as Categoria,c.Descripcion as SubCategoria FROM productos a, categoria b, subcategoria c WHERE a.IdCategoria=b.idCategoria AND a.IdSubCategoria=c.IdSubCategoria limit 12";
$resultados = $pdo->query($sql);
while ($registro = $resultados->fetch(PDO::FETCH_ASSOC)) {
echo "<li class='producto'><ul class='producto-componentes'><li class='imagen-producto'><img src=" . $registro['Imagen'] . "alt='Sanitarios'/></li><li class='titulo-producto'>" . $registro["NombreCorto"] . "</li></li><li class='Material-producto'><p class='titulo-divisor-producto'>Material</p><p class='material-producto'>" . $registro['Descripcion'] . "</p></li><li class='precio-producto'>$" . $registro['precioUnitario'] . "</li><a href='detalle.php?Id=" . $registro['IdProducto'] . "'class='cta-ghost main'>Ver detalles</a> </ul></li>";
}
?>
<li class="producto"></li>
</p>
答案 1 :(得分:0)
如果你使用这个Jade的PHP分支:https://github.com/kylekatarnls/jade-php,你可以这样做:
p.base Somos una empresa de distribución de Temped ea nos mi, sequam autecer spernat essimos dolorepud
ul.grilla-productos-home
- $sql = "SELECT a.IdProducto,a.NombreCorto,a.Descripcion as Descripcion,a.precioUnitario,a.Imagen,b.Descripcion as Categoria,c.Descripcion as SubCategoria FROM productos a, categoria b, subcategoria c WHERE a.IdCategoria=b.idCategoria AND a.IdSubCategoria=c.IdSubCategoria limit 12"
- $resultados = $pdo->query($sql)->fetchAll(PDO::FETCH_OBJ)
for registro in resultados
li.producto: ul.producto-componentes
li.imagen-producto
img(src=registro.Imagen alt='Sanitarios')
li.titulo-producto
=registro.NombreCorto
li.Material-producto:p.titulo-divisor-producto ...
但我建议在控制器中执行SQL请求,而不是在视图中。