That's great: thanks for the detailed explanation! (Again I am shocked at how much is possible in Agavi without any sort of hacking...)
Michal. On Fri, Oct 16, 2009 at 8:37 AM, David Zülke <[email protected]> wrote: > Sure, that's easy. > > <ae:parameter name="error_class_map"> > <ae:parameter name="ancestor::${htmlnsPrefix}div[contains(@class, > 'group')] | self::${htmlnsPrefix}*">error</ae:parameter> > </ae:parameter> > > This query retrieves a union of the elements themselves (self::*) and the > encapuslating div that has "group" in the "class" attribute (you could do > @class='group', but that wouldn't work for class="group hidden" or so) and > applies the class "error" to them. > > However, that will cause the parent to have two "error" classes. If you find > that annoying, do this: > > <ae:parameter name="error_class_map"> > <ae:parameter name="self::${htmlnsPrefix}label">error</ae:parameter> > <ae:parameter name="ancestor::${htmlnsPrefix}div[contains(@class, > 'group')] | self::${htmlnsPrefix}*">error</ae:parameter> > </ae:parameter> > > FPF stops on first match, so when it deals with labels, it won't also mark > the enclosing div, while for all other elements, it will. > > - David > > P.S: see, this is why XPath is superior to CSS for anything other than > styling HTML pages... > > P.P.S: the default setting FPF uses is: > <ae:parameter name="error_class_map"> > <ae:parameter name="self::${htmlnsPrefix}*">error</ae:parameter> > </ae:parameter> > > > On 15.10.2009, at 17:26, Michal Charemza wrote: > >> Hi, >> >> A few times now I have wanted to added an error class to the parent of >> the input / label elements on error, e.g. from >> >> <div class="group"> >> <label for="test">Test</label> >> <input type="text" id="test" name="test" /> >> </div> >> >> to: >> >> <div class="group error"> >> <label for="test" class="error">Test</label> >> <div class="errors"><p class="error">Error!</p></div> >> <input class="error" type="text" id="test" name="test" /> >> </div> >> >> How would I go about doing this? >> >> Michal. >> >> _______________________________________________ >> users mailing list >> [email protected] >> http://lists.agavi.org/mailman/listinfo/users >> > > > _______________________________________________ > users mailing list > [email protected] > http://lists.agavi.org/mailman/listinfo/users > > _______________________________________________ users mailing list [email protected] http://lists.agavi.org/mailman/listinfo/users
