1

不必像这样更改列表中每个项目的值

<li class="item drawing">
    <a class="fancybox" rel="group" href="images/portfolio/skateboard_l.jpg">
    <img src="images/portfolio/skateboard.jpg" alt="skateboard"/>
    <h3>Skateboard</h3>
    </a>
</li>

有没有可能有类似的东西

item="Skateboard
<li class="item drawing">
    <a class="fancybox" rel="group" href="images/portfolio/[item-lowercase][if "item"_l.jpg exists, echo"_l"].jpg">
    <img src="images/portfolio/[item-lowercase].jpg" alt="[item-lowercase]"/>
    <h3>[item]</h3>
    </a>
</li>

所以我可以只更改列表中每个项目的项目变量,而不是所有单独的条目。我假设这将使用 PHP 或 JS 完成?

谢谢。

4

6 回答 6

2

我猜你想使用模板。

如果你想在 JS 中做客户端:

于 2012-10-18T18:44:44.483 回答
1

看起来AngularJS也会有所帮助。它可以让你做这样的事情:

<!doctype html>
<html ng-app>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
  </head>
  <body>
    <div>
      <label>Name:</label>
      <input type="text" ng-model="yourName" placeholder="Enter a name here">
      <hr>
      <h1>Hello {{yourName}}!</h1>
    </div>
  </body>
</html>
于 2012-10-18T18:46:02.177 回答
1

Smarty是一个很好的 PHP 模板系统。如果您想使用 PHP 在 JavaScript 上进行模板化,只需从那里的教程之一开始(或查看其他 PHP 模板系统)。

于 2012-10-18T18:47:22.630 回答
1

您可以在 PHP 中使用echo.

例如,如果图像名称存储在$images["myImage"]其中并且 alt 是$imageAlts["myImage"

<img src="images/portfolio/<?php echo $images["myImage"]; ?>.jpg" alt="<?php echo $imageAlts["myImage"]; ?>"/>
于 2012-10-18T18:44:05.030 回答
1

在 PHP 中执行此操作的经典方法是在 PHP 中创建一个项目数组,然后遍历该数组,创建带有适当 [item-lowercase] 条目的 HTML 列表项。

我会考虑将 [if item exists] 作为构建数据数组的过程的一部分,这样您在构建 html 时就不必做任何复杂的事情。然后,只需遍历您的数组并显示 $theItem 中的任何内容。

当然,这是一种简化。

foreach($itemList as $key=>$theItem){
    ?>
  <li class="item drawing">
   <a class="fancybox" rel="group" href="images/portfolio/<?php echo $theItem ?>

<img src="images/portfolio/[item-lowercase].jpg" alt="[item-lowercase]"/>
<h3>[item]</h3>
</a>
</li>
    <?php

}
于 2012-10-18T19:10:06.387 回答
1

我能想到的最好的解决方案是构建一个数组(我会使用 PHP)......然后使用一个 while 循环来构建你的列表......把它全部放在一个函数中并在你需要的地方调用它......

例如:

    <?php
        function itemList(){
            $items=array ("skateboard","rollerskates","scooter","rollerblades");             
            reset($items);          
            while (list(, $value) = each($items)) {
                echo '<li class="item drawing">';
                echo '<a class="fancybox" rel="group" href="images/portfolio/' . $value . '_l.jpg">';
                echo '<img src="images/portfolio/' . $value . '.jpg" alt="' . $value . '"/>';   
                echo '<h3>' . $value . '</h3>';                                                   echo '</a>';
                echo '</li>';
            }
        }
    ?>

然后在您的 HTML 文件中(您希望显示列表的位置):

<ul><?php itemList(); ?></ul>

如果将函数放在单独的 .php 文件中,则必须将其包含在 HTML 文档中:

<?php include ('/url/of/list.php'); ?> 
于 2012-10-18T19:16:04.637 回答