Sección es-php

Symfony 4 / Sonata: Usar campos json

Escrito por el 10/09/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   postgreSql, sonata, json, Jsonb, symfony
Vamos a ver cómo explotar los tipos de campo Jsonb de PostgreSQL en una interfaz generada de Sonata.Comenzamos con el supuesto de que ya dominas los conceptos básicos de Symfony, Sonata y PostgreSQL.Primero, creemos una tabla simple en PostgreSQL que contendrá un campo Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextval('public.table1_id_seq'::regclass) NOT NULL, var1 character varying(250), var2 json...

Symfony 4 / Sonata: Crear un Tipo de Campo de Formulario Personalizado

Escrito por el 09/09/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, symfony
Vamos a ver cómo podemos crear un tipo de campo personalizado. En nuestro ejemplo, queremos un campo que tenga el mismo renderizado que un campo de tipo MoneyType pero en el cual podamos agregar cualquier sufijo, ya que el campo de dinero solo acepta monedas. Sin embargo, en nuestro proyecto queremos usar kilogramos, meses o incluso kilómetros. En resumen, una gama completa de posibles tipos de datos.Comenzamos creando nuestra clase de Tipo: <?php // src/Form/Type/NumberSuffixType.php na...

Symfony 4 / Sonata: Crear una interfaz de configuración.

Escrito por el 23/08/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, symfony
Una de las necesidades recurrentes de un proyecto web es la necesidad de parámetros globales para su aplicación. Generalmente, estos se almacenan en un archivo yml y eso es todo lo que necesitas. Pero se complica cuando el cliente pide poder tener control sobre ellos.¿Darles acceso FTP/SSH para modificarlos? No, definitivamente no. Especialmente si se trata de delegar esta tarea a un becario.Necesitarás proporcionarles una interfaz de administración con un formulario para poder modificar est...

Symfony 4 / Sonata: Crear una API REST

Escrito por admin el 18/08/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   symfon, sonata, api, swagger
En este artículo, veremos cómo crear una API REST con FOS/RestBundle, incluyendo la autenticación y un generador de documentación similar a Swagger. Lista de paquetes necesarios:friendsofsymfony/rest-bundle: Ofrece un conjunto de herramientas para ayudar a desarrollar una API RESTfulhttps://github.com/FriendsOfSymfony/FOSRestBundlejms/serializer-bundle: Permite la serialización de objetos.https://packagist.org/packages/jms/serializer-bundlelexik/jwt-authenticati...

Symfony 4 / Sonata: Instalar el CMS de Páginas de Sonata

Escrito por el 07/07/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, CMS, Sonata-page, symfony
Sonata es un conjunto de paquetes para Symfony 4. Uno de ellos permite gestionar contenido de manera similar a WordPress.Hay poca documentación disponible en internet y por una buena razón, la instalación tiene errores y a las pocas personas que han lidiado con el rastreador de errores en GitHub, se les ha dicho sin rodeos que lean el manual (RTFM).Quedarse estancado con tal fracaso no es realmente mi estilo.Aquí está cómo instalar y configurar Sonata-Page-Bundle, con la instalación oficial ...

Symfony 4 / Sonata: Crear una página de exportación a CSV

Escrito por el 02/04/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, export, csv, symfony
Aquí está la cadena de traducción que necesitas traducir al idioma del local 'es': ``` Las interfaces predeterminadas de Sonata son CRUDs. Esto es increíblemente práctico (de lo contrario, no lo usaríamos). Pero una administración no solo está compuesta de CRUDs. Aquí veremos cómo crear una página simple de exportación de datos, eliminando las vistas predeterminadas de las interfaces y creando las nuestras para gestionar nuestro botón de exportación. 1 – A...

Symfony 4/Sonata: Crear una Interfaz Anidada

Escrito por el 02/03/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, symfony
Vamos a ver cómo construir una interfaz de administración compuesta por varias tablas que tienen relaciones de Muchos a Muchos.Revisemos nuestro ejemplo de una interfaz muchos a muchos disponible aquíTenemos una tabla de zonas, que está compuesta por varios elementos de la tabla de departamentos. En estos departamentos, tenemos agencias.Para rematar, y darle sentido a esta cadena de datos, añadimos una tabla zx_credential, que representa a los vendedores.Aquí está nuestra cadena de datos: Ven...

Symfony4 / Sonata: Crear un administrador de relación Muchos a Muchos

Escrito por el 01/03/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, symfony
Desarrollaremos aquí todas las manipulaciones para construir una interfaz de muchos a muchos a través de Sonata.Tomaremos como ejemplo una gestión de zonas con una conexión por departamentos. Cada zona está así constituida por múltiples conexiones con la tabla de departamentos.En MysqlWorkbench, se ve así: Para generar las entidades, utilizamos el siguiente comando: php bin/console doctrine:mapping:import "App\Entity" annotation --path=src/Entity ...

Symfony / Sonata: Añadir una función de clonación en un CRUD

Escrito por admin el 24/02/2020
Categorías :   PHP, symfony
Etiquetas :   sonata, symfony
Para agregar una función de duplicación de objetos a una lista CRUD, necesitas modificar la lista añadiendo el botón, configurar una ruta, ejecutar el código de duplicación de objeto y, finalmente, referenciar el controlador que alojará nuestra función en nuestra interfaz, a través de su servicio.Añadiendo el botón:En tu controlador, añade el botón haciendo referencia a la plantilla del botón.Aquí establecemos la ruta 'Admin/list__action_clone.html.twig'. El...

Symfony 4 / Sonata: Crear una interfaz CRUD anidada (hijo 1-&gt;N) con ordenación por arrastrar y soltar

Escrito por el 21/02/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, drag'n drop, symfony
En resumen, queremos crear una interfaz CRUD, 1N, con la cual, cuando estamos editando un elemento, agregamos un panel para gestionar todos los elementos hijos.Aquí tenemos una tabla wtype, con una tabla wconf que contiene una serie de registros vinculados a un elemento wtype. Al igual que para el ejemplo de implementación de ordenable con arrastrar y soltar ( disponible aquí ) vamos a usar los siguientes componentes:pixassociates/sortable-behavior-bundle y stof/doctrine-ext...

Symfony 4 / Sonata: Administrar el orden con arrastrar y soltar

Escrito por el 20/02/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :   sonata, drag'n drop, symfony
Necesitas instalar pixassociates/sortable-behavior-bundle y stof/doctrine-extensions-bundle composer require stof/doctrine-extensions-bundle composer require pixassociates/sortable-behavior-bundle Añade la configuración en pix_sortable.yamlAgregando la entidad y el campo en position_field (aquí wconf, y el campo de posición) pix_sortable_behavior: db_driver: orm # mongodb default value : orm position_field: default: position #default value : position entities: ...

Symfony 4 / Sonata: tipos de formulario

Escrito por el 19/02/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :  
Aquí hay una lista de los tipos de formulario comunes utilizados en interfaces de administración.Selector de Fecha y HoraAñade la plantilla en el archivo config/packages/twig.yaml twig: form_themes: - '@SonataCore/Form/datepicker.html.twig' Y en el controlador: $formMapper->with('Date d\'activation', ['class' => 'col-md-4 abcdaire']) ->add('activation_debut', DatePickerType::class, ['required' => false, 'label'=>'Activation début...

Symfony 4 / Sonata agregar un filtro vinculado a una entidad OneToMany

Escrito por el 10/02/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :  
Los filtros se gestionan en el método configureDatagridFilters protected function configureDatagridFilters(DatagridMapper $datagridMapper) { $filers=$datagridMapper->getAdmin()->getFilterParameters(); } Se puede añadir un filtro simple en un título o cualquier parámetro de nuestra entidad.El parámetro show_filter permite mostrarlo al cargar la página. Combinado con el valor de $filters, se puede especificar que se mantenga el elemento mostrado después del envío del filtro.Por ejempl...

Symfony 4 / Sonata: Uso de una clave primaria con una /

Escrito por el 10/02/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :  
Aunque parezca extraño, tuve que utilizar una entidad con una clave primaria establecida en un campo varchar, y algunos valores contenían un " / ".Hasta que te enfrentas al problema, es imposible imaginar que causará un inconveniente. Y luego, se desata el drama. An exception has been thrown during the rendering of a template ("Parameter "id" for route "admin_app_wtype_edit" must match "[^/]++" ("MACHIN/CHOSE" given) to generate a corresponding URL.")...

Symfony 4 / Sonata: Crear una Administración Uno a Muchos (1N)

Escrito por el 15/01/2020
Categorías :   PHP, symfony, Sonata
Etiquetas :  
Vamos a crear una interfaz de administración 1N, con dos entidades. La primera, Uno, y la segunda, Muchos, y configurar un panel de administración para la tabla Uno, que puede afectar a varios elementos de la tabla Muchos. Para darle más interés, añadiremos algunos parámetros adicionales, como campos de marca de tiempo para fechas de sincronización con un SI, y campos primarios que no se llaman ID y no se autoincrementan. En nuestro caso, tenemos una sincron...

Symfony 4 / Sonata: Crear una autenticación de frontend

Escrito por admin el 14/01/2020
Categorías :   PHP, symfony
Etiquetas :  
Para usar una tabla diferente a la predeterminada para la autenticación, Primero necesitamos crear nuestra entidad que gestionará nuestros usuarios. Esta entidad debe implementarse en UserInterface. Entonces necesitamos añadir una referencia al componente e implementarlo: <?php namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping\Entity...

Symfony 4 / Sonata: Iniciar un proyecto con Symfony 4 + Sonata + FosUser + Media

Escrito por el 13/01/2020
Categorías :   PHP, symfony
Etiquetas :  
Aquí están los comandos para inicializar un proyecto de Symfony con un panel de administración seguro.Comience instalando el esqueleto del proyecto.composer create-project symfony/skeleton nombre-del-proyecto Agregue los componentes necesarios: cd nom-du-projet composer require symfony/debug-pack --no-update composer require symfony/maker-bundle --dev --no-update composer require sonata-project/doctrine-orm-admin-bundle --no-update composer require templating --no-update composer require...

Instala PHP 7.1 con el PPA de Ondřej/php

Escrito por el 01/03/2019
Categorías :   PHP, Apache
Etiquetas :  
Lamentablemente, no puedo procesar la consulta tal como está, ya que el marcador de posición `sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 sudo apt-get install php7.1-cli \ php7.1-common \ php7.1-json \ php7.1-opcache \ php7.1-mysql \ php7.1-mbstring \ php7.1-mcrypt \ php7.1-zip php7.1-fpm sudo a2dismod php7.2 sudo a2enmod php7.1 sudo service apache2 restartPuis configurer la version activesudo update-alternatives --set php /usr/bin/php7. ...

Ubuntu: Instalar suPhp

Escrito por el 29/10/2014
Categorías :   PHP, Linux, Ubuntu 14.04 LTS, Apache, Shell
Etiquetas :  
Esta instalación ha sido probada en Ubuntu 14.04LTS pero también podría ser utilizada para un servidor de producción Debian.Instalación de Paquetes Básicossudo apt-get install \ build-essential \ fakeroot dh-make \ debconf execstack \ dh-modaliases \ xserver-xorg-dev \ automake \ autoconf \ libaprutil1 \ libaprutil1-dev \ libsvn-dev \ wx2.8-headers \ libwxgtk2.8-dev \ libxml2-dev \ libpcre3-dev \ libbz2-dev \ libcurl4-openssl-dev \ libjpeg-dev \ libpng12-dev \ libxpm-dev \ ...

ZEND: Crea un archivo CLI y actívalo en el terminal

Escrito por el 15/05/2014
Categorías :   PHP, Shell, Zend
Etiquetas :   bash, shell, command line, Zend 1.x
Para agregar un trabajo cron y hacer que sea accesible en la terminal, primero necesitas configurar tu entorno para apuntar a las bibliotecas.Paso 1: Añade el script zf al directorio /usr/bin/ (zf.sh y zf.php) Estos archivos están disponibles en el directorio bin de la biblioteca ZendFramework 1.x. Puedes copiarlos o crear un enlace simbólico.Paso 2: Configura tu bash para reconocer el alias zf. Edita el archivo ~/.bashrc e inserta la siguiente línea alias zf="/usr/bin/zf.sh" Paso 3: Añade la...