Gevonden: Smarty

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »
Arend a

Arend a

03/02/2005 14:01:00
Quote Anchor link
http://smarty.php.net/

Fantastisch! Dit is een template engine die mijn geliefde HTML::Template van perl doet verbleken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
include('Smarty.class.php');

// create object
$smarty = new Smarty;

// assign some content. This would typically come from
// a database or other source, but we'll use static
// values for the purpose of this example.

$smarty->assign('name', 'george smith');
$smarty->assign('address', '45th & Harris');

// display it
$smarty->display('index.tpl');
?>


Template dingen als:
<html>
<head>
<title>User Info</title>
</head>
<body>

User Information:<p>

Name: {$name|capitalize}<br>
Addr: {$address|escape}<br>
Date: {$smarty.now|date_format:"%Y-%m-%d"}<br>

</body>
</html>

Vervolgens: het laden van meerdere info naar een template:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
include('Smarty.class.php');

// create object
$smarty = new Smarty;

// assign an array of data
$smarty->assign('name', array('bob','jim','joe','jerry','fred'));

// assign an associative array of data
$smarty->assign('users', array(
    array('name' => 'bob', 'phone' => '555-3425'),
    array('name' => 'jim', 'phone' => '555-4364'),
    array('name' => 'joe', 'phone' => '555-3422'),
    array('name' => 'jerry', 'phone' => '555-4973'),
    array('name' => 'fred', 'phone' => '555-3235')
    ));



// display it
$smarty->display('index.tpl');
?>



<table>
{section name=mysec loop=$name}
{strip}
<tr bgcolor="{cycle values="#eeeeee,#dddddd"}">
<td>{$name[mysec]}</td>
</tr>
{/strip}
{/section}
</table>

<table>
{section name=mysec loop=$users}
{strip}
<tr bgcolor="{cycle values="#aaaaaa,#bbbbbb"}">
<td>{$users[mysec].name}</td>
<td>{$users[mysec].phone}</td>
</tr>
{/strip}
{/section}
</table>


Dit wordt pas echt leuk:
Een tabel compleet naar een template sjouwen zonder moeite zou zo moeten kunnen (alles dmv fetcharray naar smarty slepen):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
// mysql connectie al gemaakt ga ik even voor de lol vanuit
// Dit is een simpele versie van wat ik in perl gebruik (in perl kan ie eigenlijk ook nog inserten, en updaten en andere leuke dingen)

function sjouwtabel ($query) {
    $result = mysql_query($query);
    $resultarray = array();
    // $query is bijv: SELECT * FROM TABEL
    while ($record = mysql_fetch_array($result, MYSQL_ASSOC)) {
        array_push($resultarray, $record);
    }

    return $resultarray;
}


// Nu het specifieke gedeelte:

include('Smarty.class.php');

// create object
$smarty = new Smarty;

$data = sjouwtabel("SELECT naam,comment,datum FROM guestbook");
// gegeven: naam en comments zijn strings, datum is mysql datetime
$smarty->assign('entries', $data);
$smarty->display('guestbook.tpl');

?>


Nu de template (voor de w3c fanaten: NU EVEN NIET!):

<html>
<head><title>Guestbook</title></head>
<body>
<h1>Guestbook</h1>
<table>
<tr><td>
{section name=entry loop=$entries}
{strip}
<tr bgcolor="{cycle values="#aaaaaa,#bbbbbb"}">
<td><b>{$entries[entry].name|escape:"htmlall"}</b></td>
<!-- // HTML entities.. --!>
<td>{$entries[entry].date|date_format:"%A, %B %e, %Y"}</td>
<!-- // Date format.. eet alle formaten (unixtime, time, mysql formaat --!>
</tr>
<tr bgcolor="{cycle values="#aaaaaa,#bbbbb"}">
<td colspan="2">{$entries[entry].comment|escape:"htmlall"}</td></tr>
</tr>
</table>
{/section}
</table>


Effectief gezien:
Alle opmaak informatie zit nu in de template. De code in php is beperkt tot 4 regels, niet geheel eerlijk, in de template zitten toch flink wat meer regels code.

Mijn punt is dat je met dit systeem een ongelofelijk krachtig systeem kan opzetten om met minder tijd, minder code meer te doen.
Gewijzigd op 03/02/2005 14:08:00 door Arend a
 
PHP hulp

PHP hulp

11/05/2024 07:18:18
 
Baken

Baken

03/02/2005 14:49:00
Quote Anchor link
Opzich kun je hier idd leuke dingen mee..

Jelmer
 
Roy Bongers

Roy Bongers

03/02/2005 15:58:00
Quote Anchor link
Template parsers zijn wel leuk ja. Ik gebruik nu die van phpBB :). die is ook wel relaxt. Hier ziet de template er wat ingewikkelder uit en bij phpBB ziet de phpcode er iets ingewikkelder uit. dus what's the difference ^_^.

Ik ben er nu pas net wat mee aant experimenteren. Opzich wel leuk maar er zullen heus wel nadelen aan zitten die ik nog niet gevonden heb :D.
 
Winston Smith

Winston Smith

03/02/2005 16:28:00
Quote Anchor link
Hmm....ga me toch eens wat verdiepen in dat templates. Weet niet precies wat je ermee kan, maar begrijp dat het erg makkelijk is. Bedankt voor de link iig.

En offtopic: coole naam als onderwerp! Ik dacht al "wie is er dan zijn smartie kwijt?" :)
 
B a s
Beheerder

B a s

03/02/2005 17:38:00
Quote Anchor link
breezerslet :)

wel vet dat smarty..
 
Roy Bongers

Roy Bongers

03/02/2005 18:08:00
Quote Anchor link
met een template parser kun je de html gescheiden houden je scripts. In theorie zou er helemaal geen html meer in je scripts hoeven te zitten maar in praktijk klopt dit niet helemaal. Maar zo kun je heel makkelijk verschillende lay outs maken. Je kan zelfs de gebruiker een layout laten kiezen. Bijna iedereen kent wel phpBB forums. Bij die forums is de code overal hetzelfde. Alleen de templates zijn anders :). op phpbb.com staan wel een paar voorbeelden.
 
Arend a

Arend a

04/02/2005 09:17:00
Quote Anchor link
Voor www.uprise.be heb ik iets van 3 <b> tags verwerkt in de html. (En er zitten toch iets van 20 templates in de site, zo niet meer). Je zult alleen even moeten kijken of je werkelijk zin hebt om er een aparte template voor te brouwen.
 
Roy Bongers

Roy Bongers

04/02/2005 11:21:00
Quote Anchor link
huh wacht dit volg ik niet :/ Met 3 <b> tags kun je geen complete site maken lijkt me :). Je zult toch ook wel gewoon wat .tpl bestanden hebben neem ik aan?
 
Arend a

Arend a

04/02/2005 13:04:00
Quote Anchor link
Drie <b> tags in mijn php code, de rest zit dus in templates.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.