使用来自css文件的资产而不是图像标记来优化jpeg图像

时间:2016-01-16 04:44:06

标签: css image assetic symfony

下面的文章是我正在尝试做的,但我不想只处理background-image:url('someimage.jpg');代码,而是希望这适用于CSS中的引用,例如{% image '@AppBundle/Resources/public/images/example.jpg' filter='jpegoptim' output='/images/example.jpg' %} <img src="{{ asset_url }}" alt="Example"/> {% endimage %} 这会优化我在网站上拍摄的数百张图片比手动拍摄更快,更方便。

例如,从文档中可以看出,它是如何使用TWIG模板引擎进行的。

 function login_user($email, $password, $remember)
{
   $sql = "SELECT user_pwd, uid, username FROM users WHERE user_email = '" . escape($email) . "' AND active = 1";

   $result = query($sql);

   if (row_count($result) == 1) {

    $row = fetch_array($result);

    $db_password = $row['user_pwd'];

    if (password_verify($password, $db_password)) {

        if ($remember == "on") {                

            setcookie("email", $email, time() + 86400,'/');

        }

        $_SESSION['email'] = $email;
        $_SESSION['username'] = $row['username'];

        return true;
    } else {

        return false;
    }

    return true;
  } else {

    return false;
   }
}

这可能与Assetic和Jpegoptim(或通过其他一些解决方案)有关吗

http://symfony.com/doc/current/cookbook/assetic/jpeg_optimize.html

1 个答案:

答案 0 :(得分:1)

老实说,最好的办法是给jpegoptim所有现有文件写一个脚本。

可能通过创建新的资产过滤器来做你想做的事情,但如果你想让它将jpegs保存到不同的位置(你现在使用带有过滤器的图像标签得到的),这个小细节实际上看起来很难。如果您使用过滤器来就地查找和重写图像,那么您只需要一个很大的笨重版本的脚本来查找和优化您的所有图像,而且这项工作并没有太大的收获。