Extra atribuut toevoegen achter URL's van 'Guestbook'
Moderator: velden
Extra atribuut toevoegen achter URL's van 'Guestbook'
Ik ben bezig met een website die geheel op één pagina geladen word. Door middel van jQuery kan je door de pagina heen scrollen.
Halverwege pagina heb ik een gastenboek ingebouwd (CMSMS Module). Wanneer je een bericht typed en op submit drukt, of een andere pagina van het gastenboek wil bekijken, herlaad hij de pagina. Omdat heel mijn site op één lange pagina staat, moet hij gelijk mee scrollen.
Ik heb al uitgevogeld dat dit werkt wanneer er #reacties achter de URL gevoegd wordt, maar ik weet niet welke code van de module 'Guestbook' ik daarvoor aan moet passen.
Ik moet dus eigenlijk weten in welke .php file de submit button wordt aangemaakt en de knoppen voor een volgende pagina.
Halverwege pagina heb ik een gastenboek ingebouwd (CMSMS Module). Wanneer je een bericht typed en op submit drukt, of een andere pagina van het gastenboek wil bekijken, herlaad hij de pagina. Omdat heel mijn site op één lange pagina staat, moet hij gelijk mee scrollen.
Ik heb al uitgevogeld dat dit werkt wanneer er #reacties achter de URL gevoegd wordt, maar ik weet niet welke code van de module 'Guestbook' ik daarvoor aan moet passen.
Ik moet dus eigenlijk weten in welke .php file de submit button wordt aangemaakt en de knoppen voor een volgende pagina.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
Als je niet weet in welke .php bestand dit wordt gedaan, dan lijkt het me niet verstandig daarin te gaan sleutelen... Na het doen van module upgrades ga je ook nat...brentnl wrote:Ik moet dus eigenlijk weten in welke .php file de submit button wordt aangemaakt en de knoppen voor een volgende pagina.
Maar afgezien daarvan, volgens de forumregels in dit forum mag je geen code hacks bespreken... Nietsvermoedende lezers kunnen zonder enige kennis de codehacks op eigen site toepassen en gigantisch in de problemen komen...
Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:06 pm, edited 1 time in total.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
Ik neem aan dat ik dit bij het Formuliersjabloon moet aanpassen? Het lijkt geen effect te hebben. En hoe zou ik deze methode toe kunnen passen voor de paginering?Rolf wrote:Oh, daar was ik niet van op de hoogte, mijn excuses.brentnl wrote:Maar afgezien daarvan, volgens de forumregels in dit forum mag je geen code hacks bespreken... Nietsvermoedende lezers kunnen zonder enige kennis de codehacks op eigen site toepassen en gigantisch in de problemen komen...
Waar kan ik zoiets dan wel bespreken?
arnoud wrote:Je kan proberen om met Smarty de form tag te filteren, of dit het gewenste resultaat geeft zou je moeten testen.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:06 pm, edited 1 time in total.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
arnoud wrote:Ik heb op het toevoegen van een #anchor aan de form tag op een demo site uitgeprobeerd en het werkt naar behoren.
Content -> Guestbook -> [Templates] = Form Template
Zoek: {$formstart} en pas de filter toe.
Heb het er nu instaan, alleen als ik op submit druk blijft hij naar de bovenkant van de pagina gaan, en ook de URL in de adresbalk lijkt niet te veranderen. Kan het te maken hebben met dat mijn gastenboek op de homepage staat en er dus sowieso geen page_alias bovenin de adresbalk staat?{capture assign="old_pagealias"}{$page_alias}{/capture}
{capture assign="new_pagealias"}{$page_alias}#reacties{/capture}
{$formstart|replace:$old_pagealias:$new_pagealias}
<fieldset>
<label for="{$titles.id}sender_name">{$titles.sender}: (*)</label>{$inputs.sender}<br ....
Verder is zo'n custom cycle misschien wel de makkelijkste optie, alleen is het dan niet zwaar dat alle posts tegelijk geladen moeten worden?
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:07 pm, edited 1 time in total.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
Heb ik gedaan, maar mijn action blijft ongewijzigd...arnoud wrote: Je kunt het page_alias idee natuurlijk los laten en hardcoded de form url veranderen.
Code: Select all
<form id="mfc44bmoduleform_1" class="cms_form" action="http://www.domein.nl/" method="post">
Het is 1 sjabloon, met meerdere content blokken.
En mijn formuliersjabloon ziet er zo uit:
Code: Select all
{* Frontend Guestbook Entry Form *}
<div class="cms-guestbook-div-insert">
{if !empty($guestbook->Messages)}
{foreach from=$guestbook->Messages item=msg}
{$msg}<br />
{/foreach}
{else}
{if $guestbook->GetShowSmileys()}{$smileys}{/if}
{if !empty($guestbook->Errors)}
{foreach from=$guestbook->Errors item=error}
<strong>{$error}</strong><br />
{/foreach}
{/if}
{capture assign="old_pagealias"}{/capture}
{capture assign="new_pagealias"}http://www.enjoyteenage.nl#reacties{/capture}
{$formstart|replace:$old_pagealias:$new_pagealias}
<fieldset>
<label for="{$titles.id}sender_name">{$titles.sender}: (*)</label>{$inputs.sender}<br />
<label for="{$titles.id}sender_homepage">{$titles.homepage}:</label>{$inputs.homepage}<br />
</fieldset>
<fieldset>
<label for="counter">{$titles.chars_remaining}</label>
<__script__ type="text/javascript">
<!--
{literal}
function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
// by Scott Andrew
{
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
} else if (elm.attachEvent) {
var r = elm.attachEvent('on' + evType, fn);
} else {
elm['on' + evType] = fn;
}
}
{/literal}
{if $wysiwyg}
{literal}
function FCKeditor_OnComplete(editorInstance) {
addEvent(editorInstance.EditorDocument, 'keyup', checkLen, false);
}
{/literal}
{/if}
{if !$wysiwyg}
{literal}
function addListeners() {
var messageinput = document.getElementById('guestbook_message_input');
addEvent(messageinput, 'keyup', checkLen, false);
}
{/literal}
{/if}
{literal}
function checkLen() {
{/literal}
var maxLen = {$max_textleng};
// var sTooLong = 'Insert maximal ' + maxLen + ' characters!';
var sTooLong = "{$toolong}";
{if $wysiwyg}
var oEditor = FCKeditorAPI.GetInstance('{$id}message');
{literal}
var oDOM = oEditor.EditorDocument;
var iLength;
if (document.all) // Internet Explorer.
{
iLength = oDOM.body.innerText.length;
}
else // Gecko.
{
var r = oDOM.createRange();
r.selectNodeContents(oDOM.body);
iLength = r.toString().length;
}
var counter = document.getElementById('counter');
if(iLength>maxLen)
{
alert(sTooLong);
oDOM.body.innerHTML = oEditor.GetXHTML(false).substring(0,maxLen);
counter.value=0;
}
else
{
counter.value=maxLen-iLength;
}
{/literal}
{else}
{literal}
var messageinput = document.getElementById('guestbook_message_input');
var counter = document.getElementById('counter');
var txt=messageinput.value;
if(txt.length>maxLen)
{
alert(sTooLong);
messageinput.value=txt.substring(0,maxLen);
counter.value=0;
}
else
{
counter.value=maxLen-txt.length;
}
{/literal}
{/if}
{literal}
}
{/literal}
{if !$wysiwyg}
addEvent(window, 'load', addListeners, false);
{/if}
//-->
</__script>
<input type="text" name="counter" id="counter" value="{$counter}" size="4" /><br />
<label{if $wysiwyg} for="guestbook_message_input"{/if}>{$titles.message}: (*)</label><br />
{if $wysiwyg}
{$wysiwyg}
{else}
{$inputs.message}<br />
{/if}
</fieldset>
<fieldset>
{if $guestbook->GetShowCaptcha()}
{$titles.captcha}: (*) {$inputs.captcha}<br />
{$captcha}
{/if}
{$inputs.submit} {$inputs.cancel}
</fieldset>
{$formend}
{/if}
</div>
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:08 pm, edited 1 time in total.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
1. zal de site even kort online zetten; kan je zien dat het lastig is om het dynamisch te houden met dit ontwerp. Als er een extra pagina bij komt zal het ontwerp namelijk ook aangepast moeten worden, dus dan is het handmatig bijwerken van het menu en het sjabloon maar een kleinigheidje.arnoud wrote:Dat zou ik niet doen. Maak gebruik van de kracht van CMSMS en ga niet voor een semi-statische website.brentnl wrote: Het is 1 sjabloon, met meerdere content blokken.
Er komt een moment dat er extra pagina's toegevoegd moeten worden, de (menu)volgorde aangepast moet worden, voor elke pagina wijziging je navigatie en ankers aanpassen is ook geen pretje.
Met losse pagina's die je op 1 pagina laat verschijnen heb je veel meer flexibiliteit. Routines om dit voor elkaar te krijgen hoef je niet zelf te bedenken. Met een CGSimpleSmarty aanroep in een GCB is dit met een paar regels code voor elkaar.
Enfin: Je gaat voor de hardcoded manier achter de 'root_url' al dan niet met '/' wil je '#reacties' plaatsen:Code: Select all
{$cgsimple->get_children('how-cmsms-works','','sub_items')}
ad1) Ik weet hoe een Gastenboek template eruit ziet. Post voor de duidelijkheid alleen de snippet die van toepassing is op je probleem.Code: Select all
{capture assign="old_pagealias"}http://www.enjoyteenage.nl{/capture} {capture assign="new_pagealias"}http://www.enjoyteenage.nl#reacties{/capture} {$formstart|replace:$old_pagealias:$new_pagealias}
2. Als je nu een reactie plaatst maakt hij http://www.enjoyteenage.nl/#reacties/ ipv http://www.enjoyteenage.nl#reacties.
EDIT: heb het al, code moest worden:
Code: Select all
{capture assign="old_pagealias"}http://www.enjoyteenage.nl/{/capture}
{capture assign="new_pagealias"}http://www.enjoyteenage.nl/#reacties{/capture}
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
----------
Last edited by deactivated010521 on Tue Mar 12, 2013 2:07 pm, edited 1 time in total.
Re: Extra atribuut toevoegen achter URL's van 'Guestbook'
Ja doelgroep is 12t/m15 jarige, dus dat wil welarnoud wrote:..ziet er kleurrijk uit.

Wat betreft die paginering moet ik nog even kijken wat ik doe; die anchor is niet te doen dus? Dan ga ik kijken of het met jQuery op te lossen is, en laad ik gewoon max 100 reacties in. Oudere reacties kunnen dan simpelweg niet gelezen worden.
Hier trouwens nog een issue mbt die website haha.
http://forum.cmsmadesimple.org/viewtopi ... 13&t=61985