Als je zelf een extensie ontwikkelt, kan je hier je vragen stellen.
opgelost Plugin maar 1x uitvoeren.
Plugin maar 1x uitvoeren.
28 jan 2016 21:00
Goedemiddag,
Ik ben bezig met het bouwen van een api maar ik loop even vast.
Mijn module heb ik gereed en werkt naar behoren. De bedoeling van deze module is om wedstrijdgegevens van de KNVB via een api call te tonen. D.m.v. een pulldown menu kun je betreffende team kiezen en daarna zie je bv de uitslagen, aankomend wedstrijden, stand etc.
De teams van onze vereniging heb ik via een handmatige apiCall verkregen en voor nu in de helper.php gezet. (teamnaam, competitienaam, district, etc) .
api.knvbdataservice.nl/api/teams?PHPSESSID= <12345>&hash=
Dit werkt naar behoren maar ik zou graag de module voor een ieder beschikbaar maken en ik kan niet verwachten dan dit handmatig gaan aantallen en ook handmatig een MD5 hash gaat genereren.
Nu komt mijn vraag. Het liefst will ik deze handmatige actie eenmalig uitvoeren en dan de JSON uitkomst in de Joomla database opslaan.
Deze records worden daarna de basis van mijn pulldown en overige selecties.
In mijn hoofd dacht ik aan "onInstallerBeforeInstallation" alleen dient men eerst de api key en clubnaam via params in de module vast te leggen en daardoor werkt deze oplossing niet.
Dus ik zoek een mogelijkheid dat de plugin checkt of een record gevuld is. Mocht dit niet zo zijn dan de call uitvoeren en storen in de database.
Heeft iemand enig idee welke event trigger ik hier het beste voor kan gebruiken? Dus eigenlijk zoek ik een conceptuele oplossing en daarna ga ik wel met de techniek stoeien (vingers crossed)
Hieronder een stukje code om mijn probleem beter uit te leggen.
Ik hoop dat ik het een beetje helder uitgelegd hebt
Dank je wel!
Ik ben bezig met het bouwen van een api maar ik loop even vast.
Mijn module heb ik gereed en werkt naar behoren. De bedoeling van deze module is om wedstrijdgegevens van de KNVB via een api call te tonen. D.m.v. een pulldown menu kun je betreffende team kiezen en daarna zie je bv de uitslagen, aankomend wedstrijden, stand etc.
De teams van onze vereniging heb ik via een handmatige apiCall verkregen en voor nu in de helper.php gezet. (teamnaam, competitienaam, district, etc) .
api.knvbdataservice.nl/api/teams?PHPSESSID= <12345>&hash=
Dit werkt naar behoren maar ik zou graag de module voor een ieder beschikbaar maken en ik kan niet verwachten dan dit handmatig gaan aantallen en ook handmatig een MD5 hash gaat genereren.
Nu komt mijn vraag. Het liefst will ik deze handmatige actie eenmalig uitvoeren en dan de JSON uitkomst in de Joomla database opslaan.
Deze records worden daarna de basis van mijn pulldown en overige selecties.
In mijn hoofd dacht ik aan "onInstallerBeforeInstallation" alleen dient men eerst de api key en clubnaam via params in de module vast te leggen en daardoor werkt deze oplossing niet.
Dus ik zoek een mogelijkheid dat de plugin checkt of een record gevuld is. Mocht dit niet zo zijn dan de call uitvoeren en storen in de database.
Heeft iemand enig idee welke event trigger ik hier het beste voor kan gebruiken? Dus eigenlijk zoek ik een conceptuele oplossing en daarna ga ik wel met de techniek stoeien (vingers crossed)
Hieronder een stukje code om mijn probleem beter uit te leggen.
Ik hoop dat ik het een beetje helder uitgelegd hebt
Dank je wel!
Code:
Nu handmatig in de helper file gezet:
if($team == 'PW ZA 1') {
$teamid = '166209';
$district = 'OO';
$compId = '0212';
$classId = '14';
$pouleId = '419817';
}
else
if($team == 'PW ZA 2') {
$teamid = '166210';
$district = 'OO';
$compId = '0214';
$classId = '15';
$pouleId = '428063';
}
else
if($team == 'PW ZA 3') {
$teamid = '166211';
$district = 'OO';
$compId = '0214';
$classId = '16';
$pouleId = '428278';
}
Het bovenstaande wil ik de automatisch storen in de database.
De waardes worden daarna gebruikt om de api aan te roepen.
$data = Apicall($baseUrl,"/competities/$teamid/$district/$compId/$classId/$pouleId/results",$session_id,$apikey,"?weeknummer=A");$json = json_decode($data, true);
- esorone
- Heeft onderwerp gestart
- Joomla!NL ontdekker
- Berichten: 22
Plugin maar 1x uitvoeren.
12 feb 2016 18:48 - 12 feb 2016 18:48
Goedenavond,
Inmiddels is het bovenstaande gelukt. Ik heb toch een OnContentPrepare gebruikt.
En daarna kijken of ik überhaupt wel records heb. Mocht dit niet zo zijn, voer dan query uit.
Dus het is opgelost.
Dank je wel.
Inmiddels is het bovenstaande gelukt. Ik heb toch een OnContentPrepare gebruikt.
En daarna kijken of ik überhaupt wel records heb. Mocht dit niet zo zijn, voer dan query uit.
Code:
public static function onContentPrepare()
{
// Maak Connectie
$db = JFactory::getDbo();
// Set de query object gereed
$query = $db->getQuery(true);
//Selecteer de records
$query->select($db->quoteName('TeamReportNaam','CompName'));
$query->from($db->quoteName('#__knvb_api_team'));
// Query Restultaten
$db->setQuery($query);
// De database execute is tbv van de regelstellen
$db->execute();
// get the count
$my_count = $db->getNumRows();
if ($my_count <1){
Run APiCALL en zet hem in de database }
Else {
$db->setQuery($query);
$column= $db->loadColumn();
}
Dus het is opgelost.
Dank je wel.
- esorone
- Heeft onderwerp gestart
- Joomla!NL ontdekker
- Berichten: 22
Tijd voor maken pagina: 0.599 seconden