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
> > > > >>
> > > > >
> > > >
> > >
> >
>

Reply via email to