CMS Made Simple Forums • View topic - Melding bij gebruik cache_remote
It is currently Thu Feb 27, 2020 9:02 pm
Melding bij gebruik cache_remote
Post subject: Melding bij gebruik cache_remote
Posted: Wed Feb 28, 2018 8:57 am
Zag de volgende melding bij het gebruik van cache_remote langs komen:
Sorry, something has gone wrong. Please contact a site administrator. (CMSMS\Database\DatabaseConnectionException)
De tag:
{cache_remote_file url='https://www.uisge-beatha.eu/index.php?page=cache_googletranslate_2'}
In "cache_googletranslate_2 staat:
<__script__ src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></__script>
In de blanco template die aan bovenstaande template is gekoppeld, staat alleen {content}
Last edited by Gregor on Wed Feb 28, 2018 9:55 am, edited 1 time in total.
Post subject: Re: Melding bij gebruik cache_remote
Posted: Wed Feb 28, 2018 9:00 am
De {cache_remote_file} doet geen database acties... waarom verdenk je deze tag?
Posted: Wed Feb 28, 2018 9:38 am
En begrijp ik nou goed dat de pagina die je cachet zichzelf moet cachen?
Posted: Wed Feb 28, 2018 9:53 am
Rolf \Rolf:
testje gedaan toen deze er wel en niet meer stond; dat waren ook de momenten dat er wel een geen melding stond.
Posted: Wed Feb 28, 2018 9:55 am
Bij het kopiëren overheen gelezen. Moet zijn:
In originele post aangepast.
Posted: Tue Mar 20, 2018 2:39 pm
Joined: Thu Jan 26, 2012 3:22 pm
Misschien een late reactie,
maar waarom zou je een pagina van je eigen website gaan cachen met remote cache?
De functie is gemaakt om een file van op een andere site te halen en in het cache geheugen van de CMS te steken. interessant voor het laden van json, xml, RSS of html files waar je vervolgens informatie uit haalt en verwerkt in je template.
Ik heb dit zelf reed gebruikt gehad voor die doeleinden:https://forum.cmsmadesimple.org/viewtopic.php?f=52&t=71952
Maar het is niet nodig om een externe javascript bibliotheek in je websites cache te steken... want je CMS doet niets met deze file.
je moet enkel de javascript tag in je template plaatsen. enventueel kan je de BROWSER cache dan beïnvloeden via .htaccess.
Posted: Wed Mar 21, 2018 5:45 am
Dank je HarmO.
Het aanroepen van een file vanaf de eigen website was puur om te plugin te proberen.
Waar het voor nu om gaat, is de foutmelding die wordt gegeven; er worden door de plugin geen database acties gedaan en toch verschijnt er bij mij een melding die iets zegt over een database actie.
Krijg jij foutmeldingen bij het gebruik van de plugin?
Posted: Mon Mar 26, 2018 8:05 am
Neen, hier geen fout meldingen.
Maar jij roept een CMSpagina van je eigen website op. Om deze pagina te gegereren gaat je CMS wel database opzoekingen doen...
Probeer is met een statische json of rss file, eventueel vanop een andere website.
Bijvoorbeeld http://vimeo.com/api/v2/channel/724855/videos.xml geeft je een XML file met informatie over enkele video's met bijhorende informatie en links voor thumbnails.
die informatie kan je dan verwerken tot inhoud zoals op dit voorbeeld https://www.derbigum.nl/downloads#Documents9
voorbeeld code voor de verwerking: https://forum.cmsmadesimple.org/viewtopic.php?f=52&t=71952
Als dat lukt heb je een goed idee waarvoor deze module dient.
Posted: Mon Mar 26, 2018 9:34 am
Ik heb je code in een template gezet en hoewel ik geen video's zie, wel de opsomming zie, krijg ik geen DB-foutmeldingen. Misschien gaat het inderdaad mis op files die op de eigen swerver van de site staan. Misschien kan de ontwikkelaar hier zijn licht over laten schijnen
Code die ik in de template van de pagina heb geplaatst is:
{capture assign=xmlfeed}{cache_remote_file url="http://vimeo.com/api/v2/channel/724855/videos.xml"}{/capture}
<ul class='vimeovids'>
{foreach from=$xmlfeed|@simplexml_load_string item=vid}
{foreach from=$xmlfeed item=vid}
<li>{$vid|@print_r}</li>
Posted: Mon Mar 26, 2018 1:00 pm
Even wat geëxperimenteerd en zie het lukt om de foutmelding te genereren. Ik heb drie pagina's gemaakt om cache_remote te gebruiken. Op twee van de drie cache-pagina's gaat het goed. De pagina waar het niet goed voor gaat, daar heb ik in afwisseling geprobeerd of ik de fout kan reproduceren. En dat lukt.
Stappen gedaan op de pagina waarmee de foutmelding verschijnt:
1. in de design manager een lege template (cache_template) gemaakt met daarin {content}.
2. in de content manager een pagina (test-pin) aangemaakt als beschreven in de help van de tag, deze gekoppeld aan de template die in stap 1 is gemaakt en in de pagina (zonder WYSIWYG) de volgende code geplaatst:
<__script__ async src="//assets.pinterest.com/js/pinit.js"></__script>
3. vervolgens de aanroep
{cache_remote_file url="https://www.cmscanbesimple.com/index.php?page=test-pin"}
-----> nu volgt op de pagina van de site links onderin de foutmelding:
Vervang de in stap 3 geplaatst tag met:
dan is de foutmelding verdwenen. Het maakt overigens niet uit of er http(s): aan url wordt toegevoegd.
Posted: Mon Mar 26, 2018 1:05 pm
Klopt het dan de pagina die je aanroept
Klopt het nu dat in die pagina 'test-pin' tevens de cache_remote_file tag staat? Dus dat hij zichzelf moet gaan cachen (recursive loop). Ik kan me voorstellen dat dat een limiet op de database connecties triggert.
Posted: Mon Mar 26, 2018 1:10 pm
Nee, de pagina test-pin heeft alleen de <__script__.....</__script> code staan. Die recursieve loop was ook mijn eerste gedachte, maar daar lijkt het niet op.
Posted: Thu Mar 29, 2018 1:51 pm
Ik snap nog steeds de redenering niet om een pagina van je eigen website te gaan remote cachen, zeker niet om enkel een scrip-tag te plaatsen op je pagina.
In het voorbeeld met de video's dat je gebruikt hebt kan je de code nog verder uitwerken. {$vid|print_r} print enkel alle waarden uit die in de variabele $vid zitten. Je kan die waarden dan ook gaan gebruiken om je template me op te bouwen zoals in onderstaand voorbeeld
<a href="{$vid->url}" target="_blank">
<img src="{$vid->thumbnail_medium}" alt="{$vid->title}">
{$vid->title}
Posted: Thu Mar 29, 2018 9:06 pm
HarmO \HarmO:
Idee om de externe content vanaf de eigen "cache" te laden dan het vanaf een andere site te laden.
Dank je. Je zou jouw voorbeeld met GCSI kunnen uitbreiden voor een efficiëntere laadtijd.
Posted: Tue Apr 03, 2018 8:20 am
Je zou jouw voorbeeld met GCSI kunnen uitbreiden voor een efficiëntere laadtijd.
Inderdaad, Je kan de afbeeldingen ook me CG Simple Image gaan verwerken en vervolgens serveren van je eigen server. Efficientere laad tijden is af te wachten. afhankelijk van hosting tot hosting.
...om de externe content vanaf de eigen "cache" te laden..
Ok, ik snap je redenering: je wenst het script via je eigen website in te serveren, niet van een extern domein.
Maar dan moet je geen remote cache doen van de script tag, want de script-tag geeft in je voorbeeld enkel aan de browser weer waar hij het script kan vinden.
je kan wel de url van de script tag gaan cachen maar de vraag is of dit veel sneller zal zijn, de scipts worden nu namelijk geladen via de google CDN (content delivery network).
Swat, de code voor het cachen zal dan eerder iets in deze stijl zijn:
{capture assign=remotescript}{cache_remote_file url="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"}{/capture}