|
|
|
@ -393,6 +393,19 @@ class TwigExtension extends AbstractExtension {
|
|
|
|
|
// {{ node.field_media|file_url }} |
|
|
|
|
// @endcode |
|
|
|
|
new TwigFilter('file_url', [$this, 'fileUrl']), |
|
|
|
|
|
|
|
|
|
// - Entity translation - |
|
|
|
|
// |
|
|
|
|
// Gets the translation of the entity for the current context. |
|
|
|
|
// @code |
|
|
|
|
// {{ node|translation }} |
|
|
|
|
// @endcode |
|
|
|
|
// |
|
|
|
|
// An optional language code can be specified. |
|
|
|
|
// @code |
|
|
|
|
// {{ node|translation('es') }} |
|
|
|
|
// @endcode |
|
|
|
|
new TwigFilter('translation', [$this, 'entityTranslation']), |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
if (Settings::get('twig_tweak_enable_php_filter')) { |
|
|
|
@ -1319,4 +1332,20 @@ class TwigExtension extends AbstractExtension {
|
|
|
|
|
return $output; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Returns the tranlation for the given entity. |
|
|
|
|
* |
|
|
|
|
* @param object $entity |
|
|
|
|
* The entity to get the translation from. |
|
|
|
|
* |
|
|
|
|
* @param string $langcode |
|
|
|
|
* (optional) For which language the trnaslation should be looked for, |
|
|
|
|
* defaults to the current language context. |
|
|
|
|
* |
|
|
|
|
* @return EntityInterface |
|
|
|
|
* The appropriate translation for the given language context. |
|
|
|
|
*/ |
|
|
|
|
public function entityTranslation(EntityInterface $entity, $langcode = NULL) { |
|
|
|
|
return \Drupal::service('entity.repository')->getTranslationFromContext($entity, $langcode); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|