Download the PHP package openeuropa/oe_theme without Composer

On this page you can find all versions of the php package openeuropa/oe_theme. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package oe_theme

OpenEuropa theme

Build Status Packagist

Drupal 10 theme based on the Europa Component Library (ECL).

Table of contents:

Requirements

This depends on the following software:

Installation

The recommended way of installing the OpenEuropa theme is via Composer.

Before proceeding, please note that theme releases are built by a continuous integration system, and include code coming from third-party libraries, such as ECL templates and other assets. Simply Running composer require openeuropa/oe_theme will download the raw theme source code, which misses required third-party code.

In order to instruct Composer to download the actual built artifact, you need to require and configure the Composer Artifacts project. To do so run:

Then add the following section, in your project's composer.json:

Once you are done, run:

This will download the fully built artifact, as opposed to the raw theme source code.

If you are not using Composer, then simply download a release artifact here (i.e. a oe_theme-[x.y.z].tar.gz file) and install it as described here.

Enable the theme

In order to enable the theme in your project perform the following steps:

  1. Enable the OpenEuropa Theme Helper module
  2. Enable the OpenEuropa Theme and set it as default

Step 1. is necessary until the following Drupal core issue is resolved. Alternatively you can patch Drupal core with this patch and enable the theme: the patched core will then enable the required OpenEuropa Theme Helper module.

The OpenEuropa theme supports both the EC and EU component libraries:

The theme uses the "European Commission" component library by default, you can change that by visiting the theme setting page.

Note for developers: changing the component library will only load different CSS and JS assets, the actual HTML is the same between the two libraries.

Each component library can use one of the following ECL brandings:

To learn more about EC/EU families and ECL branding visit the ECL website.

Upgrade to 4.0.0

The following patterns have been removed:

The following variants of the button pattern have been removed:

The language_switcher field of the page_header pattern has been removed. The additional_information field of the list_item pattern has been removed. The text_highlight and image_overlay variants fo the banner pattern have been replaced by a single variant text_overlay.

Two ECL components have been replaced:

Colors

In order to accommodate the color changes in ECL 4.0.0 we have added two twig functions to determine the correct color for border and background based on the component library (European Union or European Commission):

New patterns

Content display changes

All the teaser templates are using the vertical variant for displaying the lists.

Upgrade to 3.0.0

Page header pattern

ECL v3 adds the following features to the page header component:

In order to accommodate these changes we have added the following optional fields to the "Page header" pattern:

We have also removed the following deprecated fields:

In addition, the customization that allowed the content language switcher to be rendered inside the page header has been deprecated in favor of the new ECL composition. Instead, the OpenEuropa Content Language Switcher block provided by OpenEuropa Multilingual needs to be used in its place. Sites updating to OpenEuropa Theme V3 are advised to place this block in the page header region if they wish still need the functionality.

Content item compositions

We have removed the following compositions from our theme:

Consider using the List item pattern and its variants instead.

Text with Featured media pattern

The pattern Text with Featured media now supports the following 4 variants:

If no variant is set, then the pattern will be visualized using the default one. This guarantees backward compatibility.

Site header

ECL v3 supports the horizontal menu in both Core and Standardised branding. In order to accommodate this, we removed the visibility condition of the Main navigation block:

Upgrade to 2.17.0

Dropdown UI pattern

In 2.17.0 we dropped support for the Dropdown pattern, which will be removed in the next major version. The pattern is still available, albeit hidden on the pattern overview page. The new Dropdown pattern is based on the ECL Expandable component and should work as a drop-in replacement of the old one.

Upgrade to 2.15.0

Social media links pattern

In 2.15.0 we introduced a new pattern "Social media links" with two variants:

Therefore patterns "Social media links: horizontal" and "Social media links: vertical" are now deprecated. Use the "Social media links" pattern with an appropriate variant instead.

Upgrade to 2.10.0

ECL page header

In 2.10.0 we dropped supporting the following elements in the "Page header" pattern:

As a result, if your PageHeaderMetadata plugins provide such data, it will no longer be displayed.

ECL branding

In 2.10.0 we introduced support for ECL branding (read above for more information). The OpenEuropa Theme will use the "Core" branding, visit the theme configuration page if you need to change that and use the "Standardised" branding instead.

To know which branding your site is supposed to use check the ECL website.

Upgrade to 2.9.0

Content type teasers

If you are using the oe_content module together with the OpenEuropa theme then updating to 2.9.0 or later will affect your existing teaser displays. The 2.9.0 version updates the teaser display of most content types provided by oe_content so if you want to keep any customization you have made to your site you will need to redo those modifications and override the teaser templates on your own custom theme.

ECL site header

In 2.9.0 we dropped support for the legacy ECL site header. To do so we had to move the language switcher block to the site_header_secondary theme region. This means that:

Upgrade from 1.x to 2.x

Companion sub-modules

Corporate blocks

When using the theme in conjunction with the OpenEuropa Corporate Blocks component changing the component library will show a different footer block, namely:

Image styles

OpenEuropa Theme ships with a number of image styles that should help users follow the guidelines set by the ECL. The following is a list of all the vailable styles and their preferred usage:

Development

The OpenEuropa Theme project contains all the necessary code and tools for an effective development process, meaning:

Make sure you read the developer documentation before starting to use the theme in your projects.

Project setup

Developing the theme requires a local copy of ECL assets, including Twig templates, SASS and JavaScript source files.

In order to fetch the required code you'll need to have Node.js (>= 8) installed locally.

To install required Node.js dependencies run:

To build the final artifacts run:

This will compile all SASS and JavaScript files into self-contained assets that are exposed as Drupal libraries.

In order to download all required PHP code run:

This will build a fully functional Drupal site in the ./build directory that can be used to develop and showcase the theme.

Before setting up and installing the site make sure to customize default configuration values by copying runner.yml.dist to ./runner.yml and override relevant properties.

To set up the project run:

This will:

Please note: project files and directories are symlinked within the test site by using the OpenEuropa Task Runner's Drupal project symlink command.

If you add a new file or directory in the root of the project, you need to re-run drupal:site-setup in order to make sure they are be correctly symlinked.

If you don't want to re-run a full site setup for that, you can simply run:

After a successful setup install the site by running:

This will:

Using Docker Compose

Alternatively, you can build a development site using Docker and Docker Compose with the provided configuration.

Docker provides the necessary services and tools such as a web server and a database server to get the site running, regardless of your local host configuration.

Requirements:

Configuration

By default, Docker Compose reads two files, a docker-compose.yml and an optional docker-compose.override.yml file. By convention, the docker-compose.yml contains your base configuration and it's provided by default. The override file, as its name implies, can contain configuration overrides for existing services or entirely new services. If a service is defined in both files, Docker Compose merges the configurations.

Find more information on Docker Compose extension mechanism on the official Docker Compose documentation.

Usage

To start, run:

It's advised to not daemonize docker-compose so you can turn it off (CTRL+C) quickly when you're done working. However, if you'd like to daemonize it, you have to add the flag -d:

Then:

Using default configuration, the development site files should be available in the build directory and the development site should be available at: http://127.0.0.1:8080/build.

Running the tests

To run the grumphp checks:

To run the phpunit tests:

To run the behat tests:

Step debugging

To enable step debugging from the command line, pass the XDEBUG_SESSION environment variable with any value to the container:

Please note that, starting from XDebug 3, a connection error message will be outputted in the console if the variable is set but your client is not listening for debugging connections. The error message will cause false negatives for PHPUnit tests.

To initiate step debugging from the browser, set the correct cookie using a browser extension or a bookmarklet like the ones generated at https://www.jetbrains.com/phpstorm/marklets/.

Disable Drupal 8 caching

Manually disabling Drupal 8 caching is a laborious process that is well described here.

Alternatively, you can use the following Drupal Console command to disable/enable Drupal 8 caching:

Note: to fully disable Twig caching the following additional manual steps are required:

  1. Open ./build/sites/default/services.yml
  2. Set the following parameters:

  3. Rebuild Drupal cache: ./vendor/bin/drush cr

This is due to the following Drupal Console issue.

Working with ECL components

You can use the ECL components in your Twig templates by referencing them using the ECL Twig Loader as shown below:

Important: not all ECL templates are available to the theme for include, whenever you need include a new ECL template remember to add it to the copy section of ecl-builder.config.js and run:

Update ECL

To update ECL components change the @ec-europa/ecl-preset-full version number in package.json and run:

This will update assets such as images and fonts and re-compile CSS. Resulting changes are not meant to be committed to this repository.

Watching and re-compiling Sass and JS changes

To watch for Sass and JS file changes - /sass folder - in order to re-compile them to the destination folder:

Resulting changes are not meant to be committed to this repository.

Patching ECL components

ECL components can be patched by using the patch-package NPM project.

To patch a component:

  1. Modify its source files directly in ./node_modules/@ecl/[component-name]
  2. Run:

Or, when using Docker Compose:

Patches will be generated in ./patches and applied when running npm install.

Working with a development version of ECL

To build the theme using a development version of ECL run make ecl-dev instead of the npm install procedure described above, this will:

If you want to create a release using a dev ECL version, make sure that ECL_BUILD is set to dev in .env.dist. You can then control which branch and repo ECL will be built from by setting ECL_BUILD_REF and ECL_BUILD_REPO in the same file.

Contributing

Please read the full documentation for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the available versions, see the tags on this repository.


All versions of oe_theme with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
cweagans/composer-patches Version ~1.4 || ^2.0
drupal/core Version ^10
drupal/smart_trim Version ^2
drupal/stable Version ^2.0
drupal/twig_field_value Version ^2.0
drupal/ui_patterns Version ^1.5
openeuropa/ecl-twig-loader Version ^4.0
openeuropa/oe_time_caching Version ^1.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package openeuropa/oe_theme contains the following files

Loading the files please wait ....