Array return naar andere user-defined tag

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
luckie12
New Member
New Member
Posts: 3
Joined: Thu Dec 08, 2016 10:02 am

Array return naar andere user-defined tag

Post by luckie12 »

Hey!

Ik moet voor een website een domain checker maken. Nu heb ik via file_get_contents ervoor gezorgd dat ik het gewenste resultaat terugkrijg.
Ik heb er een return bij gedaan, deze is een Array. Hoe kan ik deze return vast zetten aan een andere User-Defined Tag? Zodat ik alleen maar bijvoorbeeld: {available} hoef te gebruiken in mijn HTML?

Dit is mijn stukje code dat in een UDT staat:

Code: Select all

<?php
$domain = $_POST['inputDom'];
$domain1 = explode( '.', $domain );

$dom = $domain1[0];
$ext = $domain1[1];
$doms= array();

$tld = array("nl","be","de","com");

foreach ($tld as $tdl1){
$result = file_get_contents('http://www.flaxetest.eu/Check_Domain.php?domain='.$dom.'&tld='.$tdl1.'');
$decoded = json_decode($result, true);
$doms[] = $decoded['Available'];
}


return $doms;



?>
Bedankt alvast!

~Luc
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Array return naar andere user-defined tag

Post by Rolf »

Goedemorgen!

In een UDT hoef je geen

Code: Select all

<?php
?>
te gebruiken
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
luckie12
New Member
New Member
Posts: 3
Joined: Thu Dec 08, 2016 10:02 am

Re: Array return naar andere user-defined tag

Post by luckie12 »

Rolf wrote:Goedemorgen!

In een UDT hoef je geen

Code: Select all

<?php
?>
te gebruiken
Goedemorgen!

En klopt, ik had deze direct van mijn editor gekopieerd inplaats van in CMSMS te plaatsen haha :)

Maar kan dat wat hierboven staat? Of is dat niet duidelijk genoeg?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Array return naar andere user-defined tag

Post by velden »

Het is niet helemaal duidelijk maar waarschijnlijk kan het wel.

Wellicht kun je beter een array opbouwen die je daarna in je pagina met smarty kunt gebruiken.

Je kunt de variabele 'terug geven' aan Smarty:

Code: Select all

$smarty->assign('DomCheckResult',$doms);
return laat je dan achterwege.

Waarschijnlijk wil je je array opbouwen met meer informatie. Lijkt me verstandig de tld ook erin op te nemen.

Bovendien kun je gebruik maken van de $params array om parameters aan de UDT mee te geven.

Simpel voorbeeld (niet getest):

Code: Select all

$domain = $params['domain'];
$assign = isset($params['assign'])?$params['assign']:false;
...
if ($assign) {
  $smarty->assign($assign,$doms);
} else {
  return $doms;
}
Aanroep:

Code: Select all

{naamvUDT domain=example.com assign=DomCheckResult}
of
{naamvUDT domain=$smarty.post.inputDom assign=DomCheckResult}
luckie12
New Member
New Member
Posts: 3
Joined: Thu Dec 08, 2016 10:02 am

Re: Array return naar andere user-defined tag

Post by luckie12 »

Ik heb het nu zo :
Dit is in mijn Template

Code: Select all

   {$smarty.post.inputDom assign="inputDom"}
   {$tld = ['nl', 'be', 'de', 'com']}
   {foreach $tld item=ext}



     {get_check domain=$inputDom tld=$ext}

     {if $return.Available == 'No'}
     <p>Not Available</p>
     {else}
     <p>Available</p>
     {/if}

     <p>Domainis: {$return.Domain}</p>
     <p>Tldis: {$return.Tld}</p>
     <p>Availableis: {$return.Available}</p>
     <p>Priceis: {$return.Price}</p>
     <hr>

   {/foreach}
Dit werkt ook perfect :D
behalve de IF statement erin werkt niet... hij blijft Available zeggen, terwijl er niet beschikbare tussenzitten.

Wat doe ik hier precies fout in de statement?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Array return naar andere user-defined tag

Post by velden »

Dat is niet te zeggen zonder de UDT te zien. Maar wat is $return ?

En als je wilt zien wat er in $return zit zou je {$return|print_r} kunnen gebruiken.
Post Reply

Return to “Dutch - Nederlands”