Page 1 of 1
(opgelost) Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 10:16 am
by pasmaskas
Beste CMSMS Leden,
Ik vraag mij af of je Pretty URLs aan kunt zetten in de zoek resultaten van een nieuws artikel? Of andere modules waar geen pretty urls na een zoek opdracht verschijnt.
Nu krijg ik bv als ik naar een nieuws bericht ga deze url:
http://pmkmedia.nl/stephanie/news/4/58/ ... te-loodjes
Maar als ik zoek naar dit nieuwsbericht dan krijg ik deze url:
http://pmkmedia.nl/stephanie/index.php? ... eturnid=58
Nu gebruik ik disques
http://disqus.com/ voor de reacties in de website alleen dit werkt dan niet omdat de url dan niet klopt en hij dan geen reacties laad of de reacties van de de niet pretty url link.
Weet iemand hier een oplossing voor?
Gr pascal
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 11:17 am
by velden
Nu weet ik niet hoe disqus precies werkt maar kun je niets doen met de canonical url?
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 11:59 am
by pasmaskas
disqus kijkt naar de url en laad de bijbehordende reacties van die url.
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 12:04 pm
by velden
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 12:36 pm
by pasmaskas
Thnx velden
Het script staat in het artikelsjabloon hoe krijg ik dit e rin verwerkt?
zo iets als:
Code: Select all
var disqus_url = '{speciale smarty}';
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 12:41 pm
by velden
Of course it needs to be inside <__script__> tags. Don't know the details but Google for 'cmsms canonical' and you find some articles with examples that should be useful.
Re: Pretty URLs Zoek module news
Posted: Wed Jul 24, 2013 12:58 pm
by pasmaskas
THNX! velden dit werkt:
Aan het einde van het artikelsjabloon:
Code: Select all
{assign var='canonical' value=$entry->moreurl}
En in het script deze regel:
Nu wil ik het ook verwerken in een twitter/facebook share button zodat die ook altijd de goede url deelt en niet de niet pretty url versie.
Nu heb ik dit geprobeert:
Code: Select all
<a href="http://www.facebook.com/sharer.php?u={$canonical}">Delen op Facebook</a>
<a href="http://twitter.com/home?status={$canonical}">Delen op Twitter</a>
Alleen dat werkt niet. Wat doe ik verkeert? de buttons staan niet in het artikelsjabloon maar het normale sjabloon.
En hoe krijg ik hem in het
The Open Graph protocol verwerkt deze hier onder werkt ook niet:
Code: Select all
<meta property="og:url" content="{$canonical}"/>
Moet ik nog iets plaatsen in het normale sjabloon?
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 7:23 am
by pasmaskas
Code: Select all
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
Deze werkt ook niet dan krijg ik de url van de detailpagina en niet de url naar het orginele nieuws bericht. Komt dat omdat het nu buiten de nieuwsmodule zit? dat hij niet de goede url pakt? is er een manier om de {$canonical} url uit de niews module te paken en vervolgens op de plaats te platsen eem een {smarty} die dan de juiste {$canonical} van de nieuwsmodule pakt?
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 7:49 am
by velden
Je hebt zojuist de $canonical variable zelf gezet met de url naar de detailpagina. Dus vrij logisch dat je die dan krijgt bij
Code: Select all
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
Ik geloof dat canonical in één van de standaard templates wordt gebruikt. Kijk daar even in. En zoek even op waar 'canonical' voor staat. Ik heb het idee dat je nu de variabele zo noemt voor disqus maar dat het geen canonical url (van de huidige pagina) betreft.
Overigens gebruik ik vaak de module CGSimpleSmarty en dan:
Code: Select all
<meta property="og:url" content="{$cgsimple->self_url()}" />
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 8:17 am
by pasmaskas
velden wrote:Je hebt zojuist de $canonical variable zelf gezet met de url naar de detailpagina. Dus vrij logisch dat je die dan krijgt bij
Code: Select all
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
Ik geloof dat canonical in één van de standaard templates wordt gebruikt. Kijk daar even in. En zoek even op waar 'canonical' voor staat. Ik heb het idee dat je nu de variabele zo noemt voor disqus maar dat het geen canonical url (van de huidige pagina) betreft.
Overigens gebruik ik vaak de module CGSimpleSmarty en dan:
Code: Select all
<meta property="og:url" content="{$cgsimple->self_url()}" />
Ik had al even gegoogled op canonical en kwam er achter dat dat bedoelt is voor zoekmachines zodat zij de juiste pagina kunnen registreren en niet voor 1 pagina/artikel telkens meerdere urls moet registreren.
Die url die in het Disqus script staat wil ik idd hebben in mijn <meta property="og:url" content="url" /> en in de share links. Omdat ik het het wil delen naar de orginele url van het artikel.
Ik wild it inbouwen in ene webapp en als je het bericht deelt dat hij dat de url van de "website" gebruikt en niet die van de naar de webapp pagina. Zodat als je via facebook er op klikt hij naar de normale website gaat.
Hoop dat het iets duidelijker is
gr pascal
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 8:24 am
by velden
Nou ja, belangrijk is om te beseffen dat variabelen in smarty pas beschikbaar zijn als ze zijn gezet (uiteraard). Daarbij moet je weten dat daarbij de volgende volgorde wordt gehanteerd:
Eerst wordt de smarty BOVEN de <head> uitgevoerd.
Dan de smarty in de </__body>.
Tenslotte de smarty in de <head>.
Dus dat geeft je de mogelijkheid om in je body variabelen te zetten (bijvoorbeeld via News template) die je vervolgens in je head kunt gebruiken.
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 8:42 am
by pasmaskas
Dus ik moet eerst een sort functie boven de <head> maken? waar dan de smartys in de body en head op reageren.
Dus eigelijk moet ik een soort functie hebben die voor mij de canonical uit de nieuwsmodule haalt en de smarty in de head of body plaatst die url weer die er uit is gehaalt tog? of heb ik het helemaal verkeert
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 8:48 am
by pasmaskas
Dit is nu mijn niews artikelsjabloon
Code: Select all
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
<h2>{$entry->title|cms_escape:htmlall}</h2>
<h6>{$entry->postdate|cms_date_format}</h6>
{eval var=$entry->content}
<h2>Reacties:</h2>
<div id="disqus_thread"></div>
<__script__ type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'pmkmedia'; // required: replace example with your forum shortname
var disqus_url = '{$canonical}';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</__script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
{assign var='alt_title' value=$entry->title}
{assign var='canonical' value=$entry->moreurl}
De url die hij nu genereert in de Disqus script:
Die url wil ik hebben in de facebook/twitter link en de header og:url meta. Dus denk dat die er dan op een of andere manier uit gepakt moet worden en dat hij dan die url gebruikt. want die lijd naar de pagina die ik wil delen.
Zelf ben ik niet zo goed in smarty/php kan het alleen heel goed knippen en plakken of licht aanpassen als ik een voorbeeld heb.
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 9:55 am
by velden
Het kan aan mij liggen maar ik zie dit:
Code: Select all
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
...
var disqus_url = '{$canonical}';
...
{assign var='canonical' value=$entry->moreurl}
Als die {$canonical} goed is, dan moet je niet onderaan nog een keer die variabele aanpassen naar $entry->moreurl.
Haal die laatste regel eens weg zou ik voorstellen.
Bovendien kan ik me voorstellen dat in de news-detail er helemaal geen moreurl bestaat, maar dat weet ik niet zeker.
Re: Pretty URLs Zoek module news
Posted: Fri Jul 26, 2013 10:39 am
by pasmaskas
Exuses ik heb het direct weg gehaalt. En het WERKT!!. Ik het het html deel waar de sharebuttons in zitten verhuist naar de nieuwsartikel template en nu neemt hij wel netjes de goede url over. ook de meta in het normale sjabloon neemt nu ook die url over.
Bedankt velden.