Wilt u een gastenblog schrijven voor UpService?

Wanneer u onderstaande gegevens invult nemen we zo spoedig mogelijk contact met u op.

Bedrijfsgegevens - invullen verplicht

Smarty CMSMS plugins

Soms is het erg handig als je een bepaalde PHP of CMSMS functie ook vanuit Smarty kunt gebruiken. Smarty kent hiervoor een plugin-systeem.

Een voorbeeld:

CMSMS heeft in de core een functie (munge_string_to_url), hiermee kan je van een string een url maken.

$string = 'Een hele lange Titel met Hoofdletters';
$url = munge_string_to_url($string);

print $url; /* een-hele-lange-titel-met-hoofdletters */

Vandaag had ik deze functie binnen Smarty nodig (voor het definieren van een javascript variabele aan de hand van een document titel).

Smarty plugin:

modifier.munge_string_to_url.php

Plaats de volgende code in $web_root/lib/smarty/plugins/. Het plaatsen van deze code in $web_root/plugins werkt ook.

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */

/**
 * Smarty munge_string_to_url modifier plugin, taken and modified from CMSMS API
 *
 * Type:     modifier CMSMS extension<br>
 * Name:     munge_string_to_url<br>
 * Purpose:  make a friendly url out of a title
 * @link http://smarty.php.net/
 * @author   Arnoud
 * @param string
 * @return string
 */

function smarty_modifier_munge_string_to_url($alias, $tolower = true)
{

    // lowercase only on empty aliases
    if ($tolower == true)
    {
        $alias = strtolower($alias);
    }

    $alias = preg_replace('/[^a-z0-9-_]+/i','-',$alias);
    $alias = preg_replace("/---/", "-", $alias);

    $alias = preg_replace("/span-class-searchhilite-/", "", $alias);
    $alias = preg_replace("/span-/", "", $alias);

    $alias = trim($alias, '-');

    return $alias;
}

?>

Gebruik binnen je template:

{$title|munge_string_to_url}

CMSMS core functionaliteiten

Wil je binnen je Smarty modifier gebruik maken van CMSMS core functionaliteiten dan is dit mogelijk.

<?php

function smarty_cms_modifier_munge_string_to_url($string)
{

    return munge_string_to_url($string);
   
}

?>

of:

<?php

function smarty_cms_modifier_my_modifier($string)
{

    $mymodule = CMSModule::GetModuleInstance("MyModule");

    if ($mymodule != false) {
        $string = $mymodule->mymethod($string);   
    }
    
    return $string;
   
}

?>

Leesvoer

Mobiele site UpService

Offerte aanvragen

Download ons offerte aanvraagformulier na het invullen kunt u deze op onze offerte aanvraag pagina uploaden.