繁体   English   中英

Jade中的多行PHP脚本

[英]Multiline PHP script in Jade

我正在使用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中工作?

谢谢!

只是将您的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>

如果您使用以下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请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM