SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Drupal 8 simple page
A walk for Drupal 8 module development
@estoyausenteSamuel Solís
</spam>
Coupon code 10€ discount*
<spam>
#DrupalSummer2016
*if($totalAmount > 60€)
GO!
D7 Site building?
D7 modules?
PHP development?
Drupal 7
Drupal 8
This slides have examples
based on my experience
for more information please read
the API page
Index
1. Configuration manager
2. Routing
3. Forms
4. Services
5. Theming
Configuration manager
Impresiones
1. ¡Funciona!
2. ¡Funciona bien!
3. Overrides entre entornos -> Settings
4. ¿Menús?
5. Un poco caos
Configuration manager
Impresiones
1. ¡Funciona!
2. ¡Funciona bien!
3. Overrides entre entornos -> Settings
4. ¿Menús?
5. Un poco caos
Configuration manager
Impresiones
1. ¡Funciona!
2. ¡Funciona bien!
3. Overrides entre entornos -> Settings
4. ¿Menús?
5. Un poco caos
Configuration manager
Impresiones
1. ¡Funciona!
2. ¡Funciona bien!
3. Overrides entre entornos -> Settings
4. ¿Menús?
5. Un poco caos
Configuration manager
Impresiones
1. ¡Funciona!
2. ¡Funciona bien!
3. Overrides entre entornos -> Settings
4. ¿Menús?
5. Un poco caos
Configuration manager
Take a look
1. https://www.drupal.org/project/config_tools
2. https://www.drupal.org/project/config_update
3. https://www.drupal.org/project/config_sync
4. https://www.drupal.org/project/config_devel
5. https://www.drupal.org/project/features
Mi first module
Drupal
generate:module
Routing
example_dyb_landing_content:

path: '/landing-my-awsome-path'

defaults:

_controller: 'Drupalexample_dyb_landing
ControllerLandingContentController::pageContent'

requirements:

_access: 'TRUE'
example_dyb_landing/example_dyb_landing.routing.yml
Routing
example_dyb_landing_content:

path: '/landing-my-awsome-path'

defaults:

_controller: 'Drupalexample_dyb_landing
ControllerLandingContentController::pageContent'

requirements:

_access: 'TRUE'
example_dyb_landing/example_dyb_landing.routing.yml
Start with slash /
Controller
namespace Drupalexample_dyb_landingController;



use DrupalCoreControllerControllerBase;

use DrupalCoreUrl;



class LandingContentController extends
ControllerBase {

public function pageContent() {
$content = []; //Render array
return $content;

}

}
example_dyb_landing/src/Controllers/LandingContentController.php
Forms
namespace Drupalexample_dyb_landingForm;



use DrupalCoreFormFormBase;

use DrupalCoreFormFormStateInterface;



class ContactForm extends FormBase {



public function getFormId() {

return 'contact_form';

}
example_dyb_landing/src/Form/ContactForm.php
Forms
public function buildForm(array $form,
FormStateInterface $form_state) {
$form['mail'] = array(

'#type' => 'email',

'#title' => $this->t('Email'),

'#required' => TRUE,

'#attributes' => ['class' => ['formcontrol']],

);
return $form;

}
example_dyb_landing/src/Form/ContactForm.php
Forms
public function validateForm(array &$form,
FormStateInterface $form_state) {

$values = $form_state->getValues();



if(!Drupal::service('email.validator')-
>isValid($values['mail'])) {

$form_state->setErrorByName('mail', $this-
>t('The email address %mail is not valid.',
array('%mail' => $values['mail'])));

}
}
example_dyb_landing/src/Form/ContactForm.php
Forms


public function submitForm(array &$form, FormStateInterface
$form_state) {



$values = $form_state->getValues();

$to = Drupal::config('system.site')->get('mail');

$language_interface = Drupal::languageManager()-
>getCurrentLanguage();



Drupal::service('plugin.manager.mail')-
>mail('example_dyb_landing', 'contact_message', $to,
$language_interface, $values, 'no-replyđ@mail.com');

drupal_set_message($this->t('Thank for contact us. Your
message has been sent correctly.'));

}
example_dyb_landing/src/Form/ContactForm.php
Forms
$output['bottom']['form'] = [

'#type' => 'container',

'#attributes' => ['class' => ['left']],

'form' => Drupal::formBuilder()-
>getForm('Drupalexample_dyb_landingForm
ContactForm'),

];
example_dyb_landing/src/Form/ContactForm.php
Forms
$output['bottom']['form'] = [

'#type' => 'container',

'#attributes' => ['class' => ['left']],

'form' => Drupal::formBuilder()-
>getForm('Drupalexample_dyb_landingForm
ContactForm'),

];
example_dyb_landing/src/Form/ContactForm.php
Services
*This is a spanish joke
*
Services
services:

rest_client.client:

class: Drupalrest_clientRestClient
example_dyb_landing/rest_client.services.yml
Services
namespace Drupalrest_client;



/**

* Class RestClient

* @package Drupalrest_client

*/

class RestClient{
protected $url;
public function __construct() {

$this->url = 'myserver.com';

}
example_dyb_landing/src/RestClient.php
Services
public function getSpecialities($country = 'ES') {



$cid = 'rest_client_getSpecialities_' . $country;

if ($cache = Drupal::cache()->get($cid)) {

return $cache->data;

}

//$output = getSomeStuff();
Drupal::cache()->set($cid, $output);

return $output;

}



return [];

}
example_dyb_landing/src/RestClient.php
Servicios
public function getSpecialities($country = 'ES') {



$cid = 'rest_client_getSpecialities_' . $country;

if ($cache = Drupal::cache()->get($cid)) {

return $cache->data;

}

//$output = getSomeStuff();
Drupal::cache()->set($cid, $output);

return $output;

}



return [];

}
example_dyb_landing/src/RestClient.php
dependencies:

- rest_client
example_dyb_landing/example_dyb_landing.info.yml
Dependency injection
namespace Drupalregister_formForm;

use Drupalrest_clientRestClient;
class RegisterForm extends FormBase{



protected $client;





public function __construct(RestClient $client) {

$this->client = $client;

}


public static function create(ContainerInterface $container) {

return new static(

$container->get('rest_client.client'),

);
}
example_dyb_landing/src/Form/RegisterForm.php
Dependency injection
Dependency injection


public function buildForm(array $form,
FormStateInterface $form_state) {

$form['speciality'] = [

'#type' => 'select',

'#options' => $this->client->getSpecialities(),

'#title' => $this->t('Speciality'),

'#required' => TRUE,

'#attributes' => ['class' => ['formcontrol']],

];
return $form;
}
example_dyb_landing/src/Form/RegisterForm.php
My first theme
Drupal generate:theme
Mi primer theme
name: public

type: theme

description: Public theme.

package: Other

core: 8.x

libraries:

- public/global-styling



base theme: classy



regions:

content: Content

header: Header

footer: Footer
public/public.info.yml
Add css/js
global-styling:

version: 1.x

css:

theme:

css/style.css: {}

js:

js/public.js: {}

dependencies:

- core/jquery

- core/drupal

- core/drupalSettings
public/public.libraries.yml
Preprocess
function public_preprocess_breadcrumb(&$variables){



//Add current page to breadcrumb.

$request = Drupal::request();

$route_match = Drupal::routeMatch();

$page_title = Drupal::service('title_resolver')-
>getTitle($request, $route_match->getRouteObject());

$variables['breadcrumb'][] = array(

'text' => $page_title,

);

}
public/public.theme
Twig
{% if breadcrumb %}

<nav class="breadcrumbs" role="navigation" aria-
labelledby="system-breadcrumb">

<h2 class="visually-hidden">{{ 'Breadcrumb'|t }}</h2>

<ol class="itemlistbread">

{% for item in breadcrumb %}

<li class="itembread">

{% if item.url %}

<a href="{{ item.url }}"
class="itembread__link">{{ item.text }}</a>

{% else %}

<span>{{ item.text }}</span>

{% endif %}

</li>

{% endfor %}

</ol>

</nav>

{% endif %}
public/templates/elements/breadcrumb.html.twig
Templates
<?php
db_query('DROP TABLE {users}’);
?>
Templates
<?php
db_query('DROP TABLE {users}’);
?>
Homework
• Caché
• Composer
• REST
• Migrate
• The change is so big…
Questions?
Thanks and enjoy this
DrupalSummer!
@estoyausenteSamuel Solís

Más contenido relacionado

La actualidad más candente

Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesAndy Wallace
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationAndy Wallace
 
Top Wordpress dashboard hacks
Top Wordpress dashboard hacks Top Wordpress dashboard hacks
Top Wordpress dashboard hacks Pankaj Subedi
 
Componentization css angular
Componentization css angularComponentization css angular
Componentization css angularDavid Amend
 
HTML5 Forms - KISS time - Fronteers
HTML5 Forms - KISS time - FronteersHTML5 Forms - KISS time - Fronteers
HTML5 Forms - KISS time - FronteersRobert Nyman
 
HTML::FormHandler
HTML::FormHandlerHTML::FormHandler
HTML::FormHandlerbbeeley
 
Joomla Custom Fields - the next level
Joomla Custom Fields - the next level Joomla Custom Fields - the next level
Joomla Custom Fields - the next level Hans Kuijpers
 
Михаил Крайнюк. Form api: ajax-commands
Михаил Крайнюк. Form api: ajax-commandsМихаил Крайнюк. Form api: ajax-commands
Михаил Крайнюк. Form api: ajax-commandsKsenia Rogachenko
 
Oop php 5
Oop php 5Oop php 5
Oop php 5phpubl
 
Rails view chapte 5 - form
Rails view   chapte 5 - formRails view   chapte 5 - form
Rails view chapte 5 - formThaichor Seng
 
Joomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus PresentationJoomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus PresentationChris Davenport
 
Андрей Юртаев - Improve theming with (Twitter) Bootstrap
Андрей Юртаев - Improve theming with (Twitter) BootstrapАндрей Юртаев - Improve theming with (Twitter) Bootstrap
Андрей Юртаев - Improve theming with (Twitter) BootstrapDrupalSPB
 
WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3Mizanur Rahaman Mizan
 
Haml And Sass
Haml And SassHaml And Sass
Haml And Sasswear
 
Fronted From Scratch - Supercharge Magento page speed
Fronted From Scratch - Supercharge Magento page speedFronted From Scratch - Supercharge Magento page speed
Fronted From Scratch - Supercharge Magento page speedYousef Cisco
 
Ch2(working with forms)
Ch2(working with forms)Ch2(working with forms)
Ch2(working with forms)Chhom Karath
 

La actualidad más candente (19)

Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
 
Top Wordpress dashboard hacks
Top Wordpress dashboard hacks Top Wordpress dashboard hacks
Top Wordpress dashboard hacks
 
Componentization css angular
Componentization css angularComponentization css angular
Componentization css angular
 
HTML5 Forms - KISS time - Fronteers
HTML5 Forms - KISS time - FronteersHTML5 Forms - KISS time - Fronteers
HTML5 Forms - KISS time - Fronteers
 
HTML::FormHandler
HTML::FormHandlerHTML::FormHandler
HTML::FormHandler
 
Keeping It Simple
Keeping It SimpleKeeping It Simple
Keeping It Simple
 
20110820 header new style
20110820 header new style20110820 header new style
20110820 header new style
 
Joomla Custom Fields - the next level
Joomla Custom Fields - the next level Joomla Custom Fields - the next level
Joomla Custom Fields - the next level
 
Михаил Крайнюк. Form api: ajax-commands
Михаил Крайнюк. Form api: ajax-commandsМихаил Крайнюк. Form api: ajax-commands
Михаил Крайнюк. Form api: ajax-commands
 
Oop php 5
Oop php 5Oop php 5
Oop php 5
 
Paypal + symfony
Paypal + symfonyPaypal + symfony
Paypal + symfony
 
Rails view chapte 5 - form
Rails view   chapte 5 - formRails view   chapte 5 - form
Rails view chapte 5 - form
 
Joomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus PresentationJoomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus Presentation
 
Андрей Юртаев - Improve theming with (Twitter) Bootstrap
Андрей Юртаев - Improve theming with (Twitter) BootstrapАндрей Юртаев - Improve theming with (Twitter) Bootstrap
Андрей Юртаев - Improve theming with (Twitter) Bootstrap
 
WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3WordPress Theme Design and Development Workshop - Day 3
WordPress Theme Design and Development Workshop - Day 3
 
Haml And Sass
Haml And SassHaml And Sass
Haml And Sass
 
Fronted From Scratch - Supercharge Magento page speed
Fronted From Scratch - Supercharge Magento page speedFronted From Scratch - Supercharge Magento page speed
Fronted From Scratch - Supercharge Magento page speed
 
Ch2(working with forms)
Ch2(working with forms)Ch2(working with forms)
Ch2(working with forms)
 

Destacado

My Organic Garden 1st update
My Organic Garden 1st updateMy Organic Garden 1st update
My Organic Garden 1st updateIvan Lafayette
 
Intro ict4dtrack wissenbach
Intro ict4dtrack wissenbachIntro ict4dtrack wissenbach
Intro ict4dtrack wissenbachKerstiRu
 
Native dress from your developing country
Native dress from your developing countryNative dress from your developing country
Native dress from your developing countryAmy Efland
 
Dissertation writing services
Dissertation writing servicesDissertation writing services
Dissertation writing servicesDaniWani
 
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA Hamzah Laduny
 
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA Hamzah Laduny
 
Mon associatiu i càncer de mama arenys de mar
Mon associatiu i càncer de mama arenys de marMon associatiu i càncer de mama arenys de mar
Mon associatiu i càncer de mama arenys de marMiguel Lozano Serrano
 
El arte de ser vago: Clean Code
El arte de ser vago: Clean CodeEl arte de ser vago: Clean Code
El arte de ser vago: Clean CodeCamilo Galiana
 

Destacado (13)

My Organic Garden 1st update
My Organic Garden 1st updateMy Organic Garden 1st update
My Organic Garden 1st update
 
Intro ict4dtrack wissenbach
Intro ict4dtrack wissenbachIntro ict4dtrack wissenbach
Intro ict4dtrack wissenbach
 
Native dress from your developing country
Native dress from your developing countryNative dress from your developing country
Native dress from your developing country
 
Marxa nòrdica ginkgo dia càncer
Marxa nòrdica ginkgo dia càncerMarxa nòrdica ginkgo dia càncer
Marxa nòrdica ginkgo dia càncer
 
Dissertation writing services
Dissertation writing servicesDissertation writing services
Dissertation writing services
 
Imagenes y direcciones
Imagenes y direccionesImagenes y direcciones
Imagenes y direcciones
 
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
 
Hhhjkji786j
Hhhjkji786jHhhjkji786j
Hhhjkji786j
 
Proposal naskah buku
Proposal naskah bukuProposal naskah buku
Proposal naskah buku
 
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
ANGGOTA PAGUYUBAN PURNA WIDYA PRAJA
 
Mon associatiu i càncer de mama arenys de mar
Mon associatiu i càncer de mama arenys de marMon associatiu i càncer de mama arenys de mar
Mon associatiu i càncer de mama arenys de mar
 
El arte de ser vago: Clean Code
El arte de ser vago: Clean CodeEl arte de ser vago: Clean Code
El arte de ser vago: Clean Code
 
1
11
1
 

Similar a Drupal8 simplepage v2

Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Samuel Solís Fuentes
 
Rails MVC by Sergiy Koshovyi
Rails MVC by Sergiy KoshovyiRails MVC by Sergiy Koshovyi
Rails MVC by Sergiy KoshovyiPivorak MeetUp
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesShabir Ahmad
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.xJoão Ventura
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin GeneratorJohn Cleveley
 
Curso Symfony - Clase 4
Curso Symfony - Clase 4Curso Symfony - Clase 4
Curso Symfony - Clase 4Javier Eguiluz
 
Rails antipattern-public
Rails antipattern-publicRails antipattern-public
Rails antipattern-publicChul Ju Hong
 
Rails antipatterns
Rails antipatternsRails antipatterns
Rails antipatternsChul Ju Hong
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with FeaturesNuvole
 
Vancouver League of Drupallers - Remembering the User (August 2008)
Vancouver League of Drupallers - Remembering the User (August 2008)Vancouver League of Drupallers - Remembering the User (August 2008)
Vancouver League of Drupallers - Remembering the User (August 2008)baronmunchowsen
 
Learning the basics of the Drupal API
Learning the basics of the Drupal APILearning the basics of the Drupal API
Learning the basics of the Drupal APIAlexandru Badiu
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simplecmsmssjg
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)arcware
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksGerald Krishnan
 
Debugging in drupal 8
Debugging in drupal 8Debugging in drupal 8
Debugging in drupal 8Allie Jones
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - LondonMarek Sotak
 

Similar a Drupal8 simplepage v2 (20)

Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Rails MVC by Sergiy Koshovyi
Rails MVC by Sergiy KoshovyiRails MVC by Sergiy Koshovyi
Rails MVC by Sergiy Koshovyi
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.x
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin Generator
 
Curso Symfony - Clase 4
Curso Symfony - Clase 4Curso Symfony - Clase 4
Curso Symfony - Clase 4
 
Rails antipattern-public
Rails antipattern-publicRails antipattern-public
Rails antipattern-public
 
Rails antipatterns
Rails antipatternsRails antipatterns
Rails antipatterns
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with Features
 
Fapi
FapiFapi
Fapi
 
Vancouver League of Drupallers - Remembering the User (August 2008)
Vancouver League of Drupallers - Remembering the User (August 2008)Vancouver League of Drupallers - Remembering the User (August 2008)
Vancouver League of Drupallers - Remembering the User (August 2008)
 
Learning the basics of the Drupal API
Learning the basics of the Drupal APILearning the basics of the Drupal API
Learning the basics of the Drupal API
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simple
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
 
Drupal Workshop: Introducción al Backend de Drupal
Drupal  Workshop: Introducción al Backend de DrupalDrupal  Workshop: Introducción al Backend de Drupal
Drupal Workshop: Introducción al Backend de Drupal
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
Debugging in drupal 8
Debugging in drupal 8Debugging in drupal 8
Debugging in drupal 8
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
 

Más de Samuel Solís Fuentes

Más de Samuel Solís Fuentes (15)

De managers y developers
De managers y developersDe managers y developers
De managers y developers
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
 
Querying solr
Querying solrQuerying solr
Querying solr
 
Las tripas de un sistema solr
Las tripas de un sistema solrLas tripas de un sistema solr
Las tripas de un sistema solr
 
D8 Form api
D8 Form apiD8 Form api
D8 Form api
 
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
 
Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
 
Drupal para desarrolladores
Drupal para desarrolladoresDrupal para desarrolladores
Drupal para desarrolladores
 

Último

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 

Último (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

Drupal8 simplepage v2