簡體   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