Dev-Umgebung: Kompatibilität für PHP 8.3 + Smarty 4.5.6
- Smarty 4.1.1 → 4.5.6 (behebt dynamic property deprecations) - Core-Klassen: #[\AllowDynamicProperties] für Admin_role, base, Config, Customer, Customer_group, CustomerGroups, Item, Structure, website - website.class.php: counts[parent_id] initialisieren vor ++ (PHP 8.1) - layout.class.php: HTTP_ACCEPT_LANGUAGE mit isset-Guard - website_init.php: session_status()-Check vor session_start - .htaccess: HTTPS-Redirect via X-Forwarded-Proto (statt SERVER_PORT) - themes/easyshop_advanced/media/: Parent-Theme-Assets nachgezogen - .gitignore: smarty.4.1.1.bak ausschließen
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
registerPlugin()
|
||||
|
||||
dynamically register plugins
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
void
|
||||
|
||||
registerPlugin
|
||||
|
||||
string
|
||||
|
||||
type
|
||||
|
||||
string
|
||||
|
||||
name
|
||||
|
||||
mixed
|
||||
|
||||
callback
|
||||
|
||||
bool
|
||||
|
||||
cacheable
|
||||
|
||||
mixed
|
||||
|
||||
cache\_attrs
|
||||
|
||||
This method registers functions or methods defined in your script as
|
||||
plugin. It uses the following parameters:
|
||||
|
||||
- `cacheable` and `cache_attrs` can be omitted in most cases. See
|
||||
[controlling cacheability of plugins output](#caching.cacheable) on
|
||||
how to use them properly.
|
||||
|
||||
<!-- -->
|
||||
|
||||
|
||||
<?php
|
||||
$smarty->registerPlugin("function","date_now", "print_current_date");
|
||||
|
||||
function print_current_date($params, $smarty)
|
||||
{
|
||||
if(empty($params["format"])) {
|
||||
$format = "%b %e, %Y";
|
||||
} else {
|
||||
$format = $params["format"];
|
||||
}
|
||||
return strftime($format,time());
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
And in the template
|
||||
|
||||
|
||||
{date_now}
|
||||
|
||||
{* or to format differently *}
|
||||
{date_now format="%Y/%m/%d"}
|
||||
|
||||
|
||||
<?php
|
||||
// function declaration
|
||||
function do_translation ($params, $content, $smarty, &$repeat, $template)
|
||||
{
|
||||
if (isset($content)) {
|
||||
$lang = $params["lang"];
|
||||
// do some translation with $content
|
||||
return $translation;
|
||||
}
|
||||
}
|
||||
|
||||
// register with smarty
|
||||
$smarty->registerPlugin("block","translate", "do_translation");
|
||||
?>
|
||||
|
||||
|
||||
|
||||
Where the template is:
|
||||
|
||||
|
||||
{translate lang="br"}Hello, world!{/translate}
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
// let's map PHP's stripslashes function to a Smarty modifier.
|
||||
$smarty->registerPlugin("modifier","ss", "stripslashes");
|
||||
|
||||
?>
|
||||
|
||||
In the template, use `ss` to strip slashes.
|
||||
|
||||
|
||||
<?php
|
||||
{$var|ss}
|
||||
?>
|
||||
|
||||
See also [`unregisterPlugin()`](#api.unregister.plugin), [plugin
|
||||
functions](#plugins.functions), [plugin block
|
||||
functions](#plugins.block.functions), [plugin compiler
|
||||
functions](#plugins.compiler.functions), and the [creating plugin
|
||||
modifiers](#plugins.modifiers) section.
|
||||
Reference in New Issue
Block a user