(opgelost) Pretty URLs Zoek module news
Moderator: velden
(opgelost) Pretty URLs Zoek module news
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
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
Last edited by pasmaskas on Thu Aug 08, 2013 10:46 am, edited 3 times in total.
Re: Pretty URLs Zoek module news
Nu weet ik niet hoe disqus precies werkt maar kun je niets doen met de canonical url?
Re: Pretty URLs Zoek module news
disqus kijkt naar de url en laad de bijbehordende reacties van die url.
Re: Pretty URLs Zoek module news
Thnx velden
Het script staat in het artikelsjabloon hoe krijg ik dit e rin verwerkt?
zo iets als:
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
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
THNX! velden dit werkt:
Aan het einde van het artikelsjabloon:
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:
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:
Moet ik nog iets plaatsen in het normale sjabloon?
Aan het einde van het artikelsjabloon:
Code: Select all
{assign var='canonical' value=$entry->moreurl}
Code: Select all
var disqus_url = '{$canonical}';
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>
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}"/>
Re: Pretty URLs Zoek module news
Code: Select all
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
Re: Pretty URLs Zoek module news
Je hebt zojuist de $canonical variable zelf gezet met de url naar de detailpagina. Dus vrij logisch dat je die dan krijgt bij
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
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
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
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.velden wrote:Je hebt zojuist de $canonical variable zelf gezet met de url naar de detailpagina. Dus vrij logisch dat je die dan krijgt bijIk 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.Code: Select all
{if isset($canonical)}{$canonical}{else}{$content_obj->GetURL()}{/if}
Overigens gebruik ik vaak de module CGSimpleSmarty en dan:
Code: Select all
<meta property="og:url" content="{$cgsimple->self_url()}" />
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
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.
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
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
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
Dit is nu mijn niews artikelsjabloon
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.
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}
Code: Select all
var disqus_url = '{$canonical}';
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
Het kan aan mij liggen maar ik zie dit:
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.
Code: Select all
{if isset($entry->canonical)}
{assign var='canonical' value=$entry->canonical}
{/if}
...
var disqus_url = '{$canonical}';
...
{assign var='canonical' value=$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
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.
Bedankt velden.