8
0
Fork 0

Commits vergleichen

...

2 Commits

6 geänderte Dateien mit 120 neuen und 4 gelöschten Zeilen

Datei anzeigen

@ -6,12 +6,19 @@
additional extensions that can be used in the shop's Twig templates: additional extensions that can be used in the shop's Twig templates:
- method_exists - Checks whether the method of an object exists. - method_exists - Checks whether the method of an object exists.
``` ```
{% if method_exists(entity, 'getCreatedBy') %} {% if method_exists(entity, 'getCreatedBy') %}
({{ entity.createdBy.name }}) ({{ entity.createdBy.name }})
{% endif %} {% endif %}
``` ```
- getModuleSettingsService - get the module settings service
```
{{ getModuleSettingsService().getString('myModuleSetting', 'myModuleId') }}
```
- getShopConfiguration - get the shop configuration
```
{{ getShopConfiguration().getShopId() }}
```
## Table of content ## Table of content

Datei anzeigen

@ -6,12 +6,19 @@
zusätzliche Erweiterungen, die in den Twig-Templates des Shops verwendet werden können: zusätzliche Erweiterungen, die in den Twig-Templates des Shops verwendet werden können:
- method_exists - Prüft, ob die Methode eines Objekts existiert. - method_exists - Prüft, ob die Methode eines Objekts existiert.
``` ```
{% if method_exists(entity, 'getCreatedBy') %} {% if method_exists(entity, 'getCreatedBy') %}
({{ entity.createdBy.name }}) ({{ entity.createdBy.name }})
{% endif %} {% endif %}
``` ```
- getModuleSettingsService - liefert den Moduleinstellungsservice
```
{{ getModuleSettingsService().getString('myModuleSetting', 'myModuleId') }}
```
- getShopConfiguration - liefert die Shopkonfiguration
```
{{ getShopConfiguration().getShopId() }}
```
## Inhaltsverzeichnis ## Inhaltsverzeichnis
@ -27,7 +34,6 @@ Dieses Paket erfordert einen mit Composer installierten OXID eShop in einer in d
Öffnen Sie eine Kommandozeile und navigieren Sie zum Stammverzeichnis des Shops (Elternverzeichnis von source und vendor). Führen Sie den folgenden Befehl aus. Passen Sie die Pfadangaben an Ihre Installationsumgebung an. Öffnen Sie eine Kommandozeile und navigieren Sie zum Stammverzeichnis des Shops (Elternverzeichnis von source und vendor). Führen Sie den folgenden Befehl aus. Passen Sie die Pfadangaben an Ihre Installationsumgebung an.
```bash ```bash
php composer require d3/oxid-twig-extensions:^1.0 php composer require d3/oxid-twig-extensions:^1.0
``` ```

Datei anzeigen

@ -25,7 +25,8 @@
"GPL-3.0-or-later" "GPL-3.0-or-later"
], ],
"require": { "require": {
"oxid-esales/oxideshop-ce": "^7.0.0" "oxid-esales/oxideshop-ce": "^7.0.0",
"twig/twig": "^3.6"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

Datei anzeigen

@ -3,4 +3,10 @@ services:
autowire: true autowire: true
D3\OxidTwigExtensions\MethodExistsExtension: D3\OxidTwigExtensions\MethodExistsExtension:
tags: ['twig.extension']
D3\OxidTwigExtensions\ModuleSettingsServiceExtension:
tags: ['twig.extension']
D3\OxidTwigExtensions\ShopConfigurationExtension:
tags: ['twig.extension'] tags: ['twig.extension']

Datei anzeigen

@ -0,0 +1,50 @@
<?php
/**
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* https://www.d3data.de
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
* @link https://www.oxidmodule.com
*/
declare(strict_types=1);
namespace D3\OxidTwigExtensions;
use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ModuleSettingsServiceExtension extends AbstractExtension
{
/**
* @return TwigFunction[]
*/
public function getFunctions(): array
{
return [
new TwigFunction(
'getModuleSettingsService',
[$this, 'getModuleSettingsService'],
['is_safe' => ['html']]
)
];
}
/**
* @return ModuleSettingServiceInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function getModuleSettingsService(): ModuleSettingServiceInterface
{
return ContainerFactory::getInstance()->getContainer()->get(ModuleSettingServiceInterface::class);
}
}

Datei anzeigen

@ -0,0 +1,46 @@
<?php
/**
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* https://www.d3data.de
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
* @link https://www.oxidmodule.com
*/
declare(strict_types=1);
namespace D3\OxidTwigExtensions;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\EshopCommunity\Core\Config;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ShopConfigurationExtension extends AbstractExtension
{
/**
* @return TwigFunction[]
*/
public function getFunctions(): array
{
return [
new TwigFunction(
'getShopConfiguration',
[$this, 'getShopConfiguration'],
['is_safe' => ['html']]
)
];
}
/**
* @return Config
*/
public function getShopConfiguration(): Config
{
return Registry::getConfig();
}
}