Hi, Yes, you can. But in this case instead of playing with #onComponentTagBody() it would be better to use an hierarchly like:
Link - Image - Label The HTML markup would look like: <a wicket:id="link"><img wicket:id="flag"/><span wicket:id="label"></span></a> Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Dec 17, 2014 at 6:14 PM, Hasan Çelik <hsnclk1...@gmail.com> wrote: > > You're awesome :) thanks a lot, I understand my mistake..In my properties > file english refers "gb" but in the codes I wrote "en" ... Martin can I > add country's flag near the turkish and english button?? only > > tr=Turkish > gb=English > > > > > > > Web Sitesi : www.ab-hibe.com > E-mail: hasance...@berkadem.com > E-mail: i...@ab-hibe.com > Gsm1: 0 544 640 96 25 > Adres : 1271. Sokak 33/14 Sabri Mermutlu İş Merkezi Balgat Ankara > > On 17 December 2014 at 16:01, Martin Grigorov <mgrigo...@apache.org> > wrote: > > > > What code do you have at BasePage.java, line 209 ? > > It calls #getString() with "en" as resource key. And you have no "en" key > > in YourApplication.properties. > > Read http://wicket.apache.org/guide/guide/i18n.html about > > internationalization. > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Wed, Dec 17, 2014 at 3:54 PM, Hasan Çelik <hsnclk1...@gmail.com> > wrote: > > > > > > I think, you can not see the images, sorry about that > > > > > > > > > https://unsee.cc/nupibero/ > > > > > > https://unsee.cc/donebuga/ > > > > > > https://unsee.cc/bizumaso/ > > > > > > > > > > > > > > > Web Sitesi : www.ab-hibe.com > > > E-mail: hasance...@berkadem.com > > > E-mail: i...@ab-hibe.com > > > Gsm1: 0 544 640 96 25 > > > Adres : 1271. Sokak 33/14 Sabri Mermutlu İş Merkezi Balgat Ankara > > > > > > On 17 December 2014 at 15:12, Martin Grigorov <mgrigo...@apache.org> > > > wrote: > > > > > > > > Try by uploading the images to some web service. > > > > It seems the mail server removes them ... > > > > > > > > Martin Grigorov > > > > Wicket Training and Consulting > > > > https://twitter.com/mtgrigorov > > > > > > > > On Wed, Dec 17, 2014 at 1:58 PM, Hasan Çelik <hsnclk1...@gmail.com> > > > wrote: > > > > > > > > > > getCookieUtils() method... ??? Does it make sense now? > > > > > > > > > > [image: Inline images 1] > > > > > > > > > > > > > > > > > > > > Web Sitesi : www.ab-hibe.com > > > > > E-mail: hasance...@berkadem.com > > > > > E-mail: i...@ab-hibe.com > > > > > Gsm1: 0 544 640 96 25 > > > > > Adres : 1271. Sokak 33/14 Sabri Mermutlu İş Merkezi Balgat Ankara > > > > > > > > > > On 17 December 2014 at 13:13, Ernesto Reinaldo Barreiro < > > > > > reier...@gmail.com> wrote: > > > > >> > > > > >> images did not make it... > > > > >> > > > > >> On Wed, Dec 17, 2014 at 11:11 AM, Hasan Çelik < > hsnclk1...@gmail.com > > > > > > > >> wrote: > > > > >> > > > > > >> > there is a compile error on the first image.. > > > > >> > > > > > >> > > > > > >> > > > > > >> > Web Sitesi : www.ab-hibe.com > > > > >> > E-mail: hasance...@berkadem.com > > > > >> > E-mail: i...@ab-hibe.com > > > > >> > Gsm1: 0 544 640 96 25 > > > > >> > Adres : 1271. Sokak 33/14 Sabri Mermutlu İş Merkezi Balgat > Ankara > > > > >> > > > > > >> > On 17 December 2014 at 13:03, Francois Meillet < > > > > >> francois.meil...@gmail.com > > > > >> > > > > > > >> > wrote: > > > > >> > > > > > > >> > > What is the error, any stacktrace ? > > > > >> > > > > > > >> > > François Meillet > > > > >> > > Formation Wicket - Développement Wicket > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > Le 17 déc. 2014 à 11:55, Hasan Çelik <hsnclk1...@gmail.com> a > > > > écrit : > > > > >> > > > > > > >> > > > Thanks Martin, > > > > >> > > > > > > > >> > > > I am newbie for wicket... It may be easy error for you but I > > > > didn't > > > > >> > > understand...Why am I getting this error? Which dependencies > > > should > > > > I > > > > >> add > > > > >> > > in pom.xml ? > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > If I change the codes like that, I am getting error, > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > Web Sitesi : www.ab-hibe.com > > > > >> > > > E-mail: hasance...@berkadem.com > > > > >> > > > E-mail: i...@ab-hibe.com > > > > >> > > > Gsm1: 0 544 640 96 25 > > > > >> > > > Adres : 1271. Sokak 33/14 Sabri Mermutlu İş Merkezi Balgat > > > Ankara > > > > >> > > > > > > > >> > > > On 17 December 2014 at 10:13, Martin Grigorov < > > > > mgrigo...@apache.org > > > > >> > > > > > >> > > wrote: > > > > >> > > > I guess his code just uses Wicket's CookieUtils class. > > > > >> > > > See > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > https://github.com/apache/isis/blob/master/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java#L94-L105 > > > > >> > > > for example. > > > > >> > > > > > > > >> > > > Martin Grigorov > > > > >> > > > Wicket Training and Consulting > > > > >> > > > https://twitter.com/mtgrigorov > > > > >> > > > > > > > >> > > > On Wed, Dec 17, 2014 at 10:05 AM, Hasan Çelik < > > > > hsnclk1...@gmail.com > > > > >> > > > > > >> > > wrote: > > > > >> > > > > > > > > >> > > > > Thanks for reply, > > > > >> > > > > > > > > >> > > > > Can you give detail about getCookieUtils() and > > > > >> > > CCA_LANGUAGE_COOKIE_NAME in > > > > >> > > > > your CcaWebApplication class > > > > >> > > > > > > > > >> > > > > Regards, > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > On 17 December 2014 at 09:06, Richter, Marvin < > > > > >> > > > > marvin.rich...@freenetdigital.com> wrote: > > > > >> > > > > > > > > > >> > > > > > Hey, I have something like that implemented in the > > following > > > > >> way: > > > > >> > > > > > > > > > >> > > > > > @Override > > > > >> > > > > > protected List<AbstractLink> > > > > >> > newSubMenuButtons(String > > > > >> > > > > > buttonMarkupId) { > > > > >> > > > > > List<AbstractLink> languages = new > > > > >> > > > > > ArrayList<AbstractLink>(); > > > > >> > > > > > > > > > >> languages.add(newLanguageOption(buttonMarkupId, > > > > >> > > > > "de")); > > > > >> > > > > > > > > > >> languages.add(newLanguageOption(buttonMarkupId, > > > > >> > > > > "en")); > > > > >> > > > > > return languages; > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > And the newLanguageOption method looks like this: > > > > >> > > > > > > > > > >> > > > > > private Link<Void> newLanguageOption(final String > > > > >> buttonMarkupId, > > > > >> > > final > > > > >> > > > > > String localeString) { > > > > >> > > > > > Link<Void> languageOptionLink = new > > > > >> > > Link<Void>(buttonMarkupId) { > > > > >> > > > > > > > > > >> > > > > > private static final long > > serialVersionUID = > > > > >> > > > > > -1704794810431937803L; > > > > >> > > > > > > > > > >> > > > > > @Override > > > > >> > > > > > public void onClick() { > > > > >> > > > > > Locale locale = new > > > Locale(localeString); > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > CcaWebApplication.get().getCookieUtils().save(CcaWebApplication.CCA_LANGUAGE_COOKIE_NAME, > > > > >> > > > > > locale.toString()); > > > > >> > > > > > getSession().setLocale(locale); > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > @Override > > > > >> > > > > > public void > > onComponentTagBody(MarkupStream > > > > >> > > markupStream, > > > > >> > > > > > ComponentTag openTag) { > > > > >> > > > > > > replaceComponentTagBody(markupStream, > > > > >> openTag, > > > > >> > > > > > getString(localeString)); > > > > >> > > > > > } > > > > >> > > > > > }; > > > > >> > > > > > return languageOptionLink; > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > Hope that helps. > > > > >> > > > > > > > > > >> > > > > > Best, > > > > >> > > > > > Marvin > > > > >> > > > > > > > > > >> > > > > > -----Original Message----- > > > > >> > > > > > From: Hasan Çelik [mailto:hsnclk1...@gmail.com] > > > > >> > > > > > Sent: Wednesday, December 17, 2014 7:46 AM > > > > >> > > > > > To: users@wicket.apache.org > > > > >> > > > > > Subject: submenu in NavbarDropDownButton > > > > >> > > > > > > > > > >> > > > > > Hi, > > > > >> > > > > > > > > > >> > > > > > I have a question about usage of navbar components.. I > > tried > > > > to > > > > >> > make > > > > >> > > > > > Multilingual website, actually I did... when I put > > language > > > > >> buttons > > > > >> > > in a > > > > >> > > > > > wicket panel, It works...In this example I try to put > > these > > > > >> > language > > > > >> > > > > > buttons into dropdown submenu.. First I did one > > > Multilanguage > > > > >> class > > > > >> > > and > > > > >> > > > > > this class was taking a parameter...This parameter was > > about > > > > >> Locale > > > > >> > > > > > String(like "en")..In this way I didn't succeed to take > > > > >> parameter > > > > >> > in > > > > >> > > the > > > > >> > > > > > submenu declaration,like that > > > > >> > > > > > > > > > >> > > > > > subMenu.add(new MenuBookmarkablePageLink<Void>(new > > > > >> > > > > > MultiLanguage("en"), > > > > >> > > > > > > Model.of("Turkish")).setIconType(GlyphIconType.refresh)); > > > > >> > > > > > > > > > >> > > > > > I know that declaration (new MultiLanguage("en")) is > wrong > > > > but I > > > > >> > > wanted > > > > >> > > > > to > > > > >> > > > > > do like that...Anyway After that I have changed the > method > > > > >> > > construction > > > > >> > > > > as > > > > >> > > > > > the following.. But in this way I have to create > different > > > > >> > > Multilanguage > > > > >> > > > > > class for every diffent language. My question is, Is > > there a > > > > >> way to > > > > >> > > > > create > > > > >> > > > > > construction for submenu declaration like > > > > >> that..(*subMenu.add(new > > > > >> > > > > > MenuBookmarkablePageLink<Void>(new > > > > >> > > > > > MultiLanguage("en"), > > > > >> > > > > > > > Model.of("Turkish")).setIconType(GlyphIconType.refresh));*) > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > DropDownButton dropdown = new > > > > >> NavbarDropDownButton(Model.of("Choose > > > > >> > > > > > Language")) { > > > > >> > > > > > @Override > > > > >> > > > > > public boolean isActive(Component item) { > > > > >> > > > > > return false; > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > @Override > > > > >> > > > > > protected List<AbstractLink> newSubMenuButtons(final > > > > String > > > > >> > > > > > buttonMarkupId) { > > > > >> > > > > > final List<AbstractLink> subMenu = new > > > > >> > > ArrayList<AbstractLink>(); > > > > >> > > > > > subMenu.add(new > > > > >> > > > > > MenuBookmarkablePageLink<Void>(MultiLanguage.class, > > > > >> > > > > > Model.of("Turkish")).setIconType(GlyphIconType.*flag*)); > > > > >> > > > > > subMenu.add(new > > > > >> > > > > > MenuBookmarkablePageLink<Void>(MultiLanguage2.class, > > > > >> > > > > > Model.of("English")).setIconType(GlyphIconType.*flag*)); > > > > >> > > > > > > > > > >> > > > > > return subMenu; > > > > >> > > > > > } > > > > >> > > > > > }.setIconType(GlyphIconType.book); > > > > >> > > > > > > > > > >> > > > > > navbar.addComponents(new > > ImmutableNavbarComponent(dropdown, > > > > >> > > > > > Navbar.ComponentPosition.RIGHT)); > > > > >> > > > > > > > > > >> > > > > > return navbar; > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > -------------------------------------------------- > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > public class MultiLanguage extends BasePage2 { > > > > >> > > > > > public MultiLanguage(){ > > > > >> > > > > > super(new PageParameters()); > > > > >> > > > > > changeUserLocaleTo("en"); > > > > >> > > > > > } > > > > >> > > > > > private void changeUserLocaleTo(String > localeString) { > > > > >> > > > > > getSession().setLocale(new > Locale(localeString)); > > > > >> > > > > > > > > > >> > > > > > Cookie languageCookie = new > > > > >> > > > > > Cookie(WicketApplication.LANGUAGE_COOKIE_NAME, > > > localeString); > > > > >> > > > > > > > > > >> > > > > languageCookie.setMaxAge(WicketApplication.LANGUAGE_COOKIE_AGE); > > > > >> > > > > > > > > > ((WebResponse)getResponse()).addCookie(languageCookie); > > > > >> > > > > > } > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > public class MultiLanguage1 extends BasePage2 { > > > > >> > > > > > public MultiLanguage(){ > > > > >> > > > > > super(new PageParameters()); > > > > >> > > > > > changeUserLocaleTo("tr"); > > > > >> > > > > > } > > > > >> > > > > > private void changeUserLocaleTo(String > localeString) { > > > > >> > > > > > getSession().setLocale(new > Locale(localeString)); > > > > >> > > > > > > > > > >> > > > > > Cookie languageCookie = new > > > > >> > > > > > Cookie(WicketApplication.LANGUAGE_COOKIE_NAME, > > > localeString); > > > > >> > > > > > > > > > >> > > > > languageCookie.setMaxAge(WicketApplication.LANGUAGE_COOKIE_AGE); > > > > >> > > > > > > > > > ((WebResponse)getResponse()).addCookie(languageCookie); > > > > >> > > > > > } > > > > >> > > > > > } > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > --------------------------------------------------------------------- > > > > >> > > > > > To unsubscribe, e-mail: > > users-unsubscr...@wicket.apache.org > > > > >> > > > > > For additional commands, e-mail: > > > users-h...@wicket.apache.org > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> -- > > > > >> Regards - Ernesto Reinaldo Barreiro > > > > >> > > > > > > > > > > > > > > >