Extra field uit CGBlog doorgeven aan UDT en uitlezen [solved
Moderator: velden
Extra field uit CGBlog doorgeven aan UDT en uitlezen [solved
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
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
Last edited by Gregor on Thu May 10, 2012 12:24 pm, edited 1 time in total.
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
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']
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
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?
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
Je zou zou iets kunnen doen:Vervang de komma door spatie hekje
grt. Rolf
Code: Select all
{$parameter|replace:",":" #"}
grt. Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
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
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
Leuk, had nog een ander ideetje. Zoek op het internet en kom hier terecht
http://forum.cmsmadesimple.org/viewtopic.php?t=35241

- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Ik herlees je suggestie Rolf en vraag me nu af hoe je dan met het eerste woord omgaat; daar staat geen kommaRolf wrote:Je zou zou iets kunnen doen:Vervang de komma door spatie hekjeCode: Select all
{$parameter|replace:",":" #"}
grt. Rolf

Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
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...

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

- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Ik kan trouwens ook zeggen dat dit de vraag niet was


Hier heeft de eerste ook geen hekjeGregor wrote:De tweet zou dan aangevuld worden met:
IJmuiden #Scheveningen #Genaker

- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Zijstapje, hoe kan ik smarty in een UDT gebruiken???
Grtz., Gregor
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
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...

moment... zoeken we op...
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Zo zeg, is me daar toch iemand even scherp!!Rolf wrote:Ik kan trouwens ook zeggen dat dit de vraag niet was
Hier heeft de eerste ook geen hekjeGregor wrote:De tweet zou dan aangevuld worden met:
IJmuiden #Scheveningen #Genaker

Moet natuurlijk zijn:
#IJmuiden #Scheveningen #Genaker
Grtz., Gregor
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Ik heb de volgende query in elkaar gesleuteld:
En die werkt 
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;
}

Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
Nu alleen nog het ombouwen van $cgblog_tags naar afzonderlijke woorden met een # ervoor...
Re: Extra field uit CGBlog doorgeven aan UDT en uitlezen
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:
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
));
Last edited by Jos on Fri May 04, 2012 3:56 pm, edited 1 time in total.