Combination View Flat View Tree View
Threads [ Previous | Next ]
Mason Stein
Hardcode login portlet into theme
December 12, 2012 2:39 PM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Hey guys,

is it possible to place the login portlet into a theme?
I want to place it instead the "sign in" link, so the email and password fields will be visible.. (like www.swisher.com =))

The thing is, I can place it into every page but only by moving it into the page area where the "content" div is.

I need a little help to understand :

 1<div id="content">
 2        ...
 3        #if ($selectable)
 4            $theme.include($content_include)
 5        #else
 6            $portletDisplay.recycle()
 7            $portletDisplay.setTitle($the_title)
 8            $theme.wrapPortlet("portlet.vm", $content_include)
 9        #end
10    </div>


Is there a way to write the code from the login protlet into a different div that I place ..lets say, instead of
1#if (!$is_signed_in)
2            <a href="$sign_in_url" id="sign-in" rel="nofollow">$sign_in_text</a>
3        #end


many thx!!!
Anonymous
RE: Hardcode login portlet into theme
December 12, 2012 2:51 PM
Answer

Anonymous

Try to embed the login portlet in the theme
1
2#if (!$is_signed_in)
3            $theme.runtime($login_portlet_id, $queryString, $velocityPortletPreferences.toString())
4        #end


replace $login_portlet_id with the actual portlet id
Mason Stein
RE: Hardcode login portlet into theme
December 12, 2012 3:30 PM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Bradley! Many THX"
That was exactly what I was looking for...
I left $queryString blank....thats ok, right?
Hitoshi Ozawa
RE: Hardcode login portlet into theme
December 12, 2012 3:42 PM
Answer

Hitoshi Ozawa

Rank: Liferay Legend

Posts: 7990

Join Date: March 23, 2010

Recent Posts

Or pass an empy string
e.g.
$theme.runtime(portletId, '', $velocityPortletPreferences.toString())
Mason Stein
RE: Hardcode login portlet into theme
December 12, 2012 3:49 PM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Hey Hitoshi,

yeah, thats what I ment..
works!

THX
Anonymous
RE: Hardcode login portlet into theme
December 12, 2012 3:48 PM
Answer

Anonymous

Make sure if you set any portlet preference to clear those out.


#set ($VOID = $velocityPortletPreferences.setValue('display-style', '1'))
#set ($VOID = $velocityPortletPreferences.setValue('portlet-setup-show-borders', 'false'))
#set ($instanceId = 'E3j7')
#set ($myPortletId = "73_INSTANCE_${instanceId}")
$theme.runtime($myPortletId, '', $velocityPortletPreferences.toString())
#set ($VOID = $velocityPortletPreferences.reset())
Mason Stein
RE: Hardcode login portlet into theme
December 12, 2012 3:51 PM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

THX Bradley,
I will do that!

Thanks again for your help!!
Mason Stein
RE: Hardcode login portlet into theme
December 17, 2012 10:57 AM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Hey again,

I did all as you told me and it´s excactly what I want.
Still I am facing a problem and I absolutly don´t know what to do....

My Login Portlet is now visible in the upper right side on every page (as long as the user is not logged in), ok, but when I click on "create account" or "forgot password" the portlet is visible two times:
i) still in the upper right side
AND
ii) inside the content div

How can I regulate this?
I mean, can I put the login portlet with "email" and "password" in one position and hide it, if someone wants to sign up (and put this into content div)?

Many many thx!!
Anonymous
RE: Hardcode login portlet into theme
December 17, 2012 11:06 AM
Answer

Anonymous

What you could do is add a css class to a div wrapping the embedded login portlet. then you could do a display:none in the css targeting the one that you don't want those to show up.
Mason Stein
RE: Hardcode login portlet into theme
December 18, 2012 5:03 AM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Hey Bradley,

thx for help! I did that already to position my login portlet in the upper side...
It is wrapped into a div.

What I don´t understand: Why does it appear in the content when I press "register"..
I do understand what you mean by css and "display: none" ... I used that for hiding the head/titel of portlet.

But how can I differentiate between login portlet in initial state and login portlet in "I pressed the register or forgot my password" state...=(
Attachment

Attachments: Foto.JPG (82.4k)
Anonymous
RE: Hardcode login portlet into theme
December 18, 2012 8:12 AM
Answer

Anonymous

when it shows in the content it should be in the maximized view. so look at the css class on the portlet for login-portlet and portlet-maximized. then you can target it not to show. or write a hook to change how the login portlet work. another area to look is under portal settings, under authentication, there are some checkboxes that can change hoe the login portlet looks as far as what button options you have.
Mason Stein
RE: Hardcode login portlet into theme
December 19, 2012 9:14 AM
Answer

Mason Stein

Rank: Junior Member

Posts: 44

Join Date: December 5, 2012

Recent Posts

Hey,

really, I am sorry to bother you...
I´d love to write a hook and change that.

But honestly I can´t find the right place to hook on...
I looked at
\html\portlet\login\create_account.jsp --> did´t find =(
\html\portlet\login\navigation.jsp --> did´t find =(
\html\portlet\login\login.jsp --> did´t find =(

My idea was to
wrap login into <div id= "myLoginVersionLogin"> and
wrap create_account into <div id= "myLoginVersionCreateAccount"> ...
to be able to control them with css..

Please help me with this one...
And still I dont know what makes my login portlet be written into content..=(


Many many thx, again and again...!!