<div class="gmail_quote">Bonjour,<br><br>Nous avons fait un patch cubicweb, au niveau de l'insertion des css, dans le cas du navigateur Internet Explorer.<br>Le but est de pouvoir spécifier directement lors du self._cw.add_css la version d'Internet Explorer correspondant au fichier css fourni. <br>

Ex : self._cw.add_css('css/styles/ie7.css', ieonly=True, iespec=u'[if IE 7]')<br><br>Voilà le diff<br><br>diff -r 65f4665233e6 utils.py<br>--- a/utils.py    Thu Feb 04 10:17:15 2010 +0100<br>+++ b/utils.py    Wed Feb 10 16:13:27 2010 +0100<br>

@@ -282,10 +282,12 @@<br>         if (cssfile, media) not in self.cssfiles:<br>             self.cssfiles.append( (cssfile, media) )<br> <br>-    def add_ie_css(self, cssfile, media='all'):<br>+    def add_ie_css(self, cssfile, media='all', iespec=None):<br>

         """registers some IE specific CSS"""<br>-        if (cssfile, media) not in self.ie_cssfiles:<br>-            self.ie_cssfiles.append( (cssfile, media) )<br>+        if iespec is None:<br>

+            iespec = u'[if lt IE 8]'<br>+        if (cssfile, media, iespec) not in self.ie_cssfiles:<br>+            self.ie_cssfiles.append( (cssfile, media, iespec) )<br> <br>     def add_unload_pagedata(self):<br>

         """registers onunload callback to clean page data on server"""<br>@@ -315,8 +317,8 @@<br>               (media, xml_escape(cssfile)))<br>         # 3/ ie css if necessary<br>         if self.ie_cssfiles:<br>

-            w(u'<!--[if lt IE 8]>\n')<br>-            for cssfile, media in self.ie_cssfiles:<br>+            for cssfile, media, iespec in self.ie_cssfiles:<br>+                w(u'<!--%s>\n' % iespec)<br>

                 w(u'<link rel="stylesheet" type="text/css" media="%s" href="%s"/>\n' %<br>                   (media, xml_escape(cssfile)))<br>             w(u'<![endif]--> \n')<br>

<br><br><br>diff -r 65f4665233e6 web/request.py<br>--- a/web/request.py    Thu Feb 04 10:17:15 2010 +0100<br>+++ b/web/request.py    Wed Feb 10 16:13:27 2010 +0100<br>@@ -490,7 +490,8 @@<br>                 jsfile = self.datadir_url + jsfile<br>

             self.html_headers.add_js(jsfile)<br> <br>-    def add_css(self, cssfiles, media=u'all', localfile=True, ieonly=False):<br>+    def add_css(self, cssfiles, media=u'all', localfile=True, ieonly=False,<br>

+                iespec=None):<br>         """specify a CSS file to include in the HTML headers<br>         :param cssfiles: a CSS filename or a list of CSS filenames<br>         :param media: the CSS's media if necessary<br>

@@ -501,15 +502,17 @@<br>             cssfiles = (cssfiles,)<br>         if ieonly:<br>             if self.ie_browser():<br>+                extraargs = [iespec]<br>                 add_css = self.html_headers.add_ie_css<br>

             else:<br>                 return # no need to do anything on non IE browsers<br>         else:<br>+            extraargs = []<br>             add_css = self.html_headers.add_css<br>         for cssfile in cssfiles:<br>

             if localfile:<br>                 cssfile = self.datadir_url + cssfile<br>-            add_css(cssfile, media)<br>+            add_css(cssfile, media, *extraargs)<br> <br>     def build_ajax_replace_url(self, nodeid, rql, vid, replacemode='replace',<br>

                                **extraparams):<br><br><br>Vincent & Florent<br><br><br>
</div><br>