Page 1 of 2
Extra field uit CGBlog doorgeven aan UDT en uitlezen [solved
Posted: Fri May 04, 2012 12:05 pm
by Gregor
Hallo,
In CGBlog heb ik een extra filed gefinieerd, nl. tags. Ik zou deze tags graag gebruiken in tweet met een #ervoor zodat de UDT die wordt aangeroepen bij het submitten van een artikel ook de hashtags maakt.
Bijv. als tags heb ingevuld:
IJmuiden, Scheveningen, Genaker
De tweet zou dan aangevuld worden met:
IJmuiden #Scheveningen #Genaker
Daarvoor moet op een of andere manier het 'Extra field' worden doorgeven aan de UDT en de inhoud van het extra field worden omgezet dat de komma's eruit gaan en er een # voor elk woord wordt gezet.
Iemand een suggestie of idee hoe ik dit kan aanpakken? Dit borduurt voort op de UDT die Arnoud o.a. heeft gemaakt om een artikel te tweeten.
Thnks, Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 2:14 pm
by Jos
Als je een UDT hebt die je bijvoorbeeld aanroept met {myUDT}
Dan kun je daarvan maken: {myUDT hashtag=$myfield}
In je php-code in de udt is de waarde van die variabele dan beschikbaar als $params['hashtag']
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 2:20 pm
by Gregor
Dank je voor je reactie Jos.
De UDT wordt vanuit de eventhandler aangeroepen als ik een CGBlog artikel submit. Voor zover ik weet kan ik daar geen parameters aan meegeven. Toch?
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:18 pm
by Rolf
Je zou zou iets kunnen doen:
Code: Select all
{$parameter|replace:",":" #"}
Vervang de komma door spatie hekje
grt. Rolf
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:22 pm
by Gregor
Dank je Rolf, daar ga ik mee stoeien.
Ben nu met een query bezig om bij het betreffende cgblog_id ook de tags te halen die in het extra field zijn gedefinieerd.....
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:31 pm
by Rolf
Leuk, had nog een ander ideetje. Zoek op het internet en kom hier terecht
http://forum.cmsmadesimple.org/viewtopic.php?t=35241
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:32 pm
by Gregor
Rolf wrote:Je zou zou iets kunnen doen:
Code: Select all
{$parameter|replace:",":" #"}
Vervang de komma door spatie hekje
grt. Rolf
Ik herlees je suggestie Rolf en vraag me nu af hoe je dan met het eerste woord omgaat; daar staat geen komma
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:36 pm
by Rolf
Ja, dat had ik ook al bedacht... Vandaar mijn tweede reactie

Ik kan wel wat bedenken om er een komma of een hekje voor te zetten, maar dan wordt niet echt "mooi" meer...

Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:38 pm
by Rolf
Ik kan trouwens ook zeggen dat dit de vraag niet was
Gregor wrote:De tweet zou dan aangevuld worden met:
IJmuiden #Scheveningen #Genaker
Hier heeft de eerste ook geen hekje

Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:38 pm
by Gregor
Zijstapje, hoe kan ik smarty in een UDT gebruiken???
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:39 pm
by Jos
De variabele zou als het goed is vanuit het event al beschikbaar moeten zijn. De vraag is natuurlijk: hoe roep je hem aan
moment... zoeken we op...
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:39 pm
by Gregor
Rolf wrote:Ik kan trouwens ook zeggen dat dit de vraag niet was
Gregor wrote:De tweet zou dan aangevuld worden met:
IJmuiden #Scheveningen #Genaker
Hier heeft de eerste ook geen hekje

Zo zeg, is me daar toch iemand even scherp!!

Moet natuurlijk zijn:
#IJmuiden #Scheveningen #Genaker
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:40 pm
by Gregor
Ik heb de volgende query in elkaar gesleuteld:
Code: Select all
function fetch_cgblog_extra_field($cgblog_id) {
$db = cmsms()->GetDB();
$query = "SELECT value
FROM ". cms_db_prefix(). "module_cgblog_fieldvals
WHERE cgblog_id = $cgblog_id AND fielddef_id =
(SELECT id
FROM ". cms_db_prefix(). "module_cgblog_fielddefs
WHERE name = 'Tags')";
$cgblog_tags = $db->GetOne($query);
return $cgblog_tags;
}
En die werkt

Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:51 pm
by Gregor
Nu alleen nog het ombouwen van $cgblog_tags naar afzonderlijke woorden met een # ervoor...
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Posted: Fri May 04, 2012 3:52 pm
by Jos
En dat is dan ook de enig juiste manier (al kan de query zelf wellicht iets korter mbv een join)
Helaas worden de custom fields niet meegezonden met het event.
Als ik in de code kijk, dan zie ik namelijk alleen de volgende velden:
Code: Select all
@$this->SendEvent('CGBlogArticleAdded', array(
'cgblog_id' => $articleid,
'categories' => $sel_categories,
'title' => $title,
'content' => $content,
'summary' => $summary,
'status' => $status,
'start_time' => $startdate,
'end_time' => $enddate,
'useexp' => $useexp,
'extra' => $extra
));