eigenlijk heb ik twee vragen, maar mijn doelstelling is hetzelfde en de situatie is vergelijkbaar. daarom plaats ik ze in hetzelfde topic
Uitdaging één
Ik gebruik de FEU module om gebruikers te laten inloggen, na het inloggen wordt de gebruiker ge-redirect naar een nieuwe (vooraf ingestelde) pagina/alias. Welke pagina dit is, valt in te stellen in de Admin interface onder FrontEndUser Management > Builtin Authentication > Redirection Settings. Nu wil ik graag dat de pagina niet naar een vaste "bedank" pagid/alias wordt geredirect, maar naar de pagina waar hij vandaan komt en de login dus plaats heeft gevonden.
Uitdaging twee
Ook maak ik gebruik van CGFeedback (als commentaar functie voor CGBlog) wanneer je een comment plaats, wordt je doorverwezen naar een bedank bericht dat in te stellen is via. CGFeedback > Settings > Messages. Ook hier wil ik graag dat direct na het posten van de comment, dat er terug wordt verwezen naar het CGBlog artikel waar de comment onder is geplaatst. (het gebruik maken de "u comment is geplaatst" pagina is voor mij op dit moment niet noodzakelijk)
Ik heb gekeken naar {redirect_page page='some-page-alias'}, maar deze bied voor mij niet voldoende functionaliteit. Juist omdat ik heel vaak terug moet verwijzen naar een dynamische link die afkomstig is uit een module. Het gebruik van Smarty is in beide gevallen toegestaan. Echter kan ik door middel van {get_template_vars} in beide gevallen geen referentie vinden van de vorige pagina.
De vraag is dus
Hoe kan ik er voor zorgen dat ik een variabele krijg, die niet simpelweg verwijst naar een pageid/alias maar naar de dynamische link van de vorige pagina (vrijwel altijd een link van/naar een module)?
ik hoop dat iemand me kan helpen of in ieder geval de juiste richting kan wijzen.
modules zijn allen up to date
CMSMS 1.9.4.2
FEU 1.12.16
CGFeedback 1.3.5
CGBlog 1.7.5
redirect naar previous (dynamische) page
Moderator: velden
Re: redirect naar previous (dynamische) page
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:40 pm, edited 1 time in total.
Re: redirect naar previous (dynamische) page
had ik gezegd dat ik geen held in codes ben
heb even snel gekeken, maar met je voorbeeld krijg ik helaas niet wat ik nodig heb. en is het volgens mij ook niet mogelijk.
ik heb één home pagina (alias=home) waar ik een CGBlog Summary Template op heb staan, wanneer ik het volledige artikel wil lezen of feedback wil geven moet je eerst naar een CGBlog Detail Template. De CGBlog module zorgt dan zelf dat er een link wordt aangemaakt die lijkt op www.domein.nl/nieuws/96/15/artikel-naam.html
wanneer ik je voorbeeld gebruik, blijft hij echter als geschiedenis aangeven dat home de alias moet zijn. Als ik het goed begrepen heb komt dit doordat er voor het Detail Template geen nieuwe pagina wordt aangemaakt. Hij wordt alleen weergegeven op de home alias. Wat ik eigenlijk wil is dat er een variable wordt uitgespuugd die in dit geval "nieuws/96/15/artikel-naam.html" bevat
hoop dat ik het een beetje duidelijk uitleg allemaal

ik heb één home pagina (alias=home) waar ik een CGBlog Summary Template op heb staan, wanneer ik het volledige artikel wil lezen of feedback wil geven moet je eerst naar een CGBlog Detail Template. De CGBlog module zorgt dan zelf dat er een link wordt aangemaakt die lijkt op www.domein.nl/nieuws/96/15/artikel-naam.html
wanneer ik je voorbeeld gebruik, blijft hij echter als geschiedenis aangeven dat home de alias moet zijn. Als ik het goed begrepen heb komt dit doordat er voor het Detail Template geen nieuwe pagina wordt aangemaakt. Hij wordt alleen weergegeven op de home alias. Wat ik eigenlijk wil is dat er een variable wordt uitgespuugd die in dit geval "nieuws/96/15/artikel-naam.html" bevat
hoop dat ik het een beetje duidelijk uitleg allemaal
Re: redirect naar previous (dynamische) page
ben volgens mij wel al een stukje verder
in de CGBlog Detail Template staat een parameter canonical die het volledige adres bevat. De vraag is hoe voeg ik die precies toe aan het stuk code? volgende is het niet
in de CGBlog Detail Template staat een parameter canonical die het volledige adres bevat. De vraag is hoe voeg ik die precies toe aan het stuk code? volgende is het niet
Code: Select all
$pagetitle = $params['page']->Name();
$pageurl = $params['canonical'];
$_SESSION['trace'][$pagetitle] = $pageurl;
if (sizeof($_SESSION['trace']) > 3) {
array_shift($_SESSION['trace']);
}
$trace = array_reverse($_SESSION['trace']);
foreach ($trace as $title => $url) {
echo '<a href="'. $url .'">'. $title . '</a><br />';
}
Re: redirect naar previous (dynamische) page
Even een schot voor de boeg...
Bevat de url een returnid?
In dat geval zou je met volgende smartycode eens kunnen kijken wat er gebeurt?
Bevat de url een returnid?
In dat geval zou je met volgende smartycode eens kunnen kijken wat er gebeurt?
Code: Select all
{redirect_page page=$smarty.get.returnid}
Re: redirect naar previous (dynamische) page
helaas werkt dit ook niet, de returnid komt in principe overeen met de alias. Hij blijft me dan telkens naar de home alias sturen en niet naar het artikel.
Ik heb een andere oplossing bedacht, maar die is na mijn idee niet effecient. CGBlog geeft een waarde, canonical, uit. Wanneer ik die waarde als hidden input field mee stuur met de comment van CGFeedback, kan ik diezelfde waarde weer uitlezen op de bedankt pagina. En zou ik zou een return link moeten kunnen maken.
Maar dat zou betekenen dat elke comment die hele link ook mee krijgt. mijns inziens wordt daardoor te veel overbodige data naar de database geschreven. Is er geen mogelijkheid om die canonical link wel door te geven maar niet op te slaan? Ik heb het geprobeerd met de code die Arnoud stuurde, maar ik kom er niet uit.
Ik heb een andere oplossing bedacht, maar die is na mijn idee niet effecient. CGBlog geeft een waarde, canonical, uit. Wanneer ik die waarde als hidden input field mee stuur met de comment van CGFeedback, kan ik diezelfde waarde weer uitlezen op de bedankt pagina. En zou ik zou een return link moeten kunnen maken.
Maar dat zou betekenen dat elke comment die hele link ook mee krijgt. mijns inziens wordt daardoor te veel overbodige data naar de database geschreven. Is er geen mogelijkheid om die canonical link wel door te geven maar niet op te slaan? Ik heb het geprobeerd met de code die Arnoud stuurde, maar ik kom er niet uit.