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,60 @@
|
||||
# Variable scopes
|
||||
|
||||
You have the choice to assign variables to the scope of the main Smarty
|
||||
object, data objects created with [`createData()`](../../programmers/api-functions/api-create-data.md),
|
||||
and template objects created with
|
||||
[`createTemplate()`](../../programmers/api-functions/api-create-template.md). These objects can be
|
||||
chained. A template sees all the variables of its own object and all
|
||||
variables assigned to the objects in its chain of parent objects.
|
||||
|
||||
By default, templates which are rendered by
|
||||
[`$smarty->display(...)`](../../programmers/api-functions/api-display.md) or
|
||||
[`$smarty->fetch(...)`](../../programmers/api-functions/api-fetch.md) calls are automatically linked to
|
||||
the Smarty object variable scope.
|
||||
|
||||
By assigning variables to individual data or template objects you have
|
||||
full control which variables can be seen by a template.
|
||||
|
||||
```php
|
||||
<?php
|
||||
// assign variable to Smarty object scope
|
||||
$smarty->assign('foo','smarty');
|
||||
|
||||
// assign variables to data object scope
|
||||
$data = $smarty->createData();
|
||||
$data->assign('foo','data');
|
||||
$data->assign('bar','bar-data');
|
||||
|
||||
// assign variables to other data object scope
|
||||
$data2 = $smarty->createData($data);
|
||||
$data2->assign('bar','bar-data2');
|
||||
|
||||
// assign variable to template object scope
|
||||
$tpl = $smarty->createTemplate('index.tpl');
|
||||
$tpl->assign('bar','bar-template');
|
||||
|
||||
// assign variable to template object scope with link to Smarty object
|
||||
$tpl2 = $smarty->createTemplate('index.tpl',$smarty);
|
||||
$tpl2->assign('bar','bar-template2');
|
||||
|
||||
// This display() does see $foo='smarty' from the $smarty object
|
||||
$smarty->display('index.tpl');
|
||||
|
||||
// This display() does see $foo='data' and $bar='bar-data' from the data object $data
|
||||
$smarty->display('index.tpl',$data);
|
||||
|
||||
// This display() does see $foo='data' from the data object $data
|
||||
// and $bar='bar-data2' from the data object $data2
|
||||
$smarty->display('index.tpl',$data2);
|
||||
|
||||
// This display() does see $bar='bar-template' from the template object $tpl
|
||||
$tpl->display(); // or $smarty->display($tpl);
|
||||
|
||||
// This display() does see $bar='bar-template2' from the template object $tpl2
|
||||
// and $foo='smarty' form the Smarty object $foo
|
||||
$tpl2->display(); // or $smarty->display($tpl2);
|
||||
```
|
||||
|
||||
See also [`assign()`](../../programmers/api-functions/api-assign.md),
|
||||
[`createData()`](../../programmers/api-functions/api-create-data.md)
|
||||
and [`createTemplate()`](../../programmers/api-functions/api-create-template.md).
|
||||
Reference in New Issue
Block a user