eZ templating – Override an embed image template

16 Sep

eZ 5 allows to override embed templates as well. Right now it is hard to find out which data is passed to the template.

In order to override the template the template has to be configured in your yml file:

content_view:
    embed:
        imageEmbedRuleset:
            template: WebsiteBundle:block/content:image.html.twig
            match:
                Identifier\ContentType: [image]

In this case for ContentTypes of type image your template will be used

Place a template in your Resources/view folder (in this example Resources/views/block/content/image.html.twig is used):

{% if not ez_is_field_empty( content, 'image' ) %}
 
   {{ ez_render_field( content, 'image',
     { parameters: {
       alias: objectParameters.size|default( 'original' ),
       showFigure: false,
       align: objectParameters.align|default( 'center' )
      } }
     )
}}
{% endif %}

eZ passes a lot of parameters to the embed template:

embed-object_tpl-parameters

  • objectParameters.size: imageAlias used in the backend
  • content: your object which has been embedded
  • linkParameters: if a link has been set in the editor

eZ trouble shooting: Login into the new stack from the legacy stack

24 Aug

eZ Systems changed the way how logins are handled a few versions ago (versions > 5.3).

If your application still uses the legacy stack and you are using your own login module in the old stack you might have a problem: the new eZ (and Symfony) version will not login the user on the Symfony stack.

If you want to login a user in the new stack as well as in the legacy stack this solution in eZ 4 might help:

 $userId =  = 1224;
 $container = ezpKernel::instance()->getServiceContainer();
 try {
      
     $repository = $container->get('ezpublish.api.repository');
     $userService = $repository->getUserService();
     $ezUser = $userService->loadUser($userId);
     if ($ezUser) {
            $user = new CoreUser($ezUser);
            $providerKey = 'ezpublish_front';
            $token = new UsernamePasswordToken($user, null, $providerKey);

            $securityContextService = $container->get('security.context');
            $securityContextService->setToken($token);

            $repository->setCurrentUser($ezUser);
    } else {
            eZDebug::writeError('User with id '.$userId.' in new stack not found, login falied',__METHOD__);
    }
} catch (\Exception $e) {
     eZDebug::writeError("Exception while trying to login on new stack: ". $e->getMessage());
 }

eZ Publish 5: Custom tags with Symfony services

13 Feb

How to render a custom tag for XML Text using your Symfony services and templates

One of my favorite features of eZ Publish is the ability to create nice-looking content with various nicely formatted blocks. That makes reading more interesting for the user. Due to storing content as XML it is possible to present information however you want. Along with a big number of standard tags like paragraph, image or table you are free to create your own custom tags: an embedded YouTube video, Google Maps, a sllideshare presentation, a source code block with syntax highlighting, QR-code etc. This article will show you how to use Symfony services to render custom tags.

Continue reading “eZ Publish 5: Custom tags with Symfony services” »

eZ Publish Platform 5.4 ist da, was kommt danach?

14 Jan

Anfang Dezember wurde die eZ Publish Version 5.4 veröffentlicht. Damit rückt das von eZ bereits längere Zeit angekündigte Ende der 5.x Produktgeneration in greifbare Nähe. eZ Plattform 5.4 wird mit erweitertem Longterm Support bis 2019 unterstützt und enthält sowohl den zu 4.x kompatiblen Legacy Stack als auch eine stabile Symfony Basis. Aber was kommt nach eZ 5.4? Wie sehen die Zukunftspläne für die Content Management Plattform aus?

Continue reading “eZ Publish Platform 5.4 ist da, was kommt danach?” »

eCommerce mit eZ Publish – silver.e-shop jetzt mit Symfony und eZ Publish 5

2 Dez

Als langjähriger eZ Partner setzt silver.solutions bereits seit über 15 Jahren eZ Publish im eCommerce-Umfeld ein. Das leistungsstarke Enterprise Content Management System übernimmt in vielen Projekten nicht nur die Pflege des gesamten Internetportals sondern dient auch zur Pflege von zusätzlichem Content für die Produkte Online-Shop. In einem Interview mit eZ Systems gewähren Ania Hentz und Frank Dege einen kleinen Einblick in die Entwicklungsarbeit an der aktuellen Shopversion silver.e-shop 3.0.

→ silver.solutions Strikes Gold with silver.e-shop 3.0 on Symfony and eZ Publish 5

Technical debt in PHP projects

21 Nov

Analyse der technischen Schulden von PHP Projekten – eZ Publish 5 kann punkten

Was sind technische Schulden in der Software Entwicklung? Dabei handelt es sich um eine in neuerer Zeit eingeführte Metapher für die möglichen Konsequenzen schlechten Software Designs und schlechter technischer Umsetzung von Software. Man versteht darunter gemeinhin, wie viel zusätzlichen Aufwand man für Änderungen und Erweiterungen einplanen muss, im Vergleich zu gut designter und geschriebener Software. Mehr zum Thema Technische Schuld oder Technische Schulden (engl. technical debt) kann man bei Wikipedia nachlesen.

Continue reading “Technical debt in PHP projects” »

Neun Gründe für eZ Publish als CMS für das nächste Web-Projekt

22 Aug

Auf SitePoint hat netgen Entwickler Ivo Lukac einen interessanten Artikel veröffentlicht, der sich speziell an PHP-Entwickler richtet und ein paar interessante Fakten und Erfahrungen zusammenfasst, um bei der Auswahl eines Web-CMS eZ Publish ganz oben auf die Liste zu setzen.

Continue reading “Neun Gründe für eZ Publish als CMS für das nächste Web-Projekt” »