Magento 2 scripting in checkout
Als je een specifiek Block maakt; kun je het zo doen: Voeg de bovenstaande zaken toe aan je PHP Block En vervolgens kun je in je inline scripttag zeggen: Let op: hiervoor is wel een setup:di:compile vereist! ====================================== Nog simpeler kan het met drie regels code in een template file. Genereer bovenin de PHP template zo een nonce: $cspNonceProvider = $objectManager->get(\Magento\Csp\Helper\CspNonceProvider::class); $nonce = $cspNonceProvider->generateNonce(); Die je in de inline script zo meegeeft: <script nonce="<?= $block->escapeHtmlAttr($nonce) ?>"> Zie ook deze commit
HTML Code
html
<script nonce="<?= $block->escapeHtmlAttr($block->getCspNonce()) ?>">
PHP Code
php
Bovenaan toevoegen:
use Magento\Csp\Helper\CspNonceProvider;
in __construct(
...
private readonly CspNonceProvider $cspNonceProvider,
...)
en functie toevoegen:
public function getCspNonce(): string
{
return $this->cspNonceProvider->generateNonce();
}