sábado, 23 de junio de 2018

Añadir etiquetas metas en angular 6

Ya que las etiquetas meta no vienen muy bien explicado en la documentación de angular 6, he decidido subir un ejemplo de como añadir estas etiquetas en nuestro proyecto de angular 6. Se puede hacer como siempre se ha hecho, añadiéndolas en el index.html, pero nos encontramos con un problema, que todos los componentes tendrán las mismas etiquetas.

Así que lo mejor es subirlas como indica angular, en el fichero typescript.

Yo en el ejemplo del que me guié, incrustaba el código en el app.component.ts, así que así lo hice yo:

Aquí teneis el código para el que le sirva de ayuda:


import { Component, OnInit } from '@angular/core';
import {Meta, Title} from '@angular/platform-browser';
import {NavigationEnd, Router} from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'app';

  constructor(
    private _title: Title,
    private meta: Meta,
    private router: Router
  ) {}

  ngOnInit() {
    this.router.events.subscribe((event: any) => {
      if (event instanceof NavigationEnd) {
        switch (event.urlAfterRedirects) {
          case '/':
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            break;
          case '/pagina-1':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras claves'
            });
            break;
            case '/pagina-2':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido de la descripcion'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras clave'
            });
            break;
            case '/pagina-3':
            this._title.setTitle('titulo');
            this.meta.addTag({
              name: 'description',
              content: 'contenido'
            });
            this.meta.addTag({
              name: 'keywords',
              content: 'palabras claves'
            });
            break;
        }
      }
    });
  }
}

Espero que os sirva de ayuda, sobre todo para los que se están iniciando en angular.

miércoles, 20 de junio de 2018

Subir nueva versión a playstore de nativescript

Para subir una nueva versión de nuestra aplicación creada con nativescript a playstore debemos:

- Cambiar la versionCode y la versiónName tanto en nuestro AndroidManifest.xml en nuestra raiz del proyecto app/App_Resources/AndroidManifest.xml y en platforms/android/app/src/main/AndroidManifest.xml, no se porque pero así es como me funciona a mi, debería bastar con cambiarlo en el App_Resources, pero no, por lo menos para mi, por si alguien se encuentra este problema ahí les dejo una posible solución.

lunes, 12 de febrero de 2018

Mostrar imagen que vas a subir

Siguiendo el curso de código facílito de laravel, he añadido algo. Que se muestre la imagen que vamos a subir. Es muy fácil, solo tienes que tener instalado el plugin jquery e incrustar el script que vemos en la página de la que os dejo el enlace.

https://itsolutionstuff.com/post/display-preview-selected-image-in-input-type-file-using-jqueryexample.html

domingo, 11 de febrero de 2018

Inicio en el plugin chosen

Realizando un curso online de laravel me he encontrado con un plugin realmente muy útil, es para los select, yo lo instalé en 10 minutos, en mi proyecto.

Solo tienes que descargar en la página el .zip, descomprimirlo, e instalar la carpeta en tu proyecto.

En laravel tienes que hacer un par de pasos, que os indico, ya que cuando escribes el script no se coloca donde debería, que es al final, solo en laravel, en otros framework y lenguajes puede ser diferente. Supongo que con otros framework de php y en otros lenguajes se instalara igual que cualquier .js que este basado en jquery (despues del script de jquery). Aquí os indico los pasos a seguir en laravel:

1-Instalar el chosen.css en el head.
2-Instalar el chosen.jquery.js después del jquery.
3-Crear un campo @yield en la vista principal, por ejemplo yo lo llame @yield('js').
4-Crear un campo @section en la vista de tu select.

Lo demás es como dice la documentación, es muy fácil, simplemente llama a una clase del select que sea única, y encadenar .chosen al selector jquery. Os dejo un ejemplo y la página del plugin, el cual se  llama chosen.

Ej:

$(".single-chosen").chosen();

La página es la del enlace de abajo, ahí encontrarás la documentación, también se pueden seleccionar diversas opciones que tu mismo verás en la documentación.

https://harvesthq.github.io/chosen/

viernes, 9 de febrero de 2018

redirigir a pagina con error 404 o 500

Me he encontrado con un problema en laravel 5.5, estoy siguiendo un curso, pero está algo obsoleto, ya que es del 2015 y ya sabemos lo rápido que va esto, bueno pues os cuento, el problema es redirigir a una página cuando escribimos mal una ruta en la barra, bueno pues buscando durante un rato he encontrado una solución.

Para la solución tenemos que insertar un poco de código.

Primero vamos a app/Exceptions/handler.php.

Ya en ese fichero, vamos a la función render e insertamos un poco de código:

if($this->isHttpException($e))
        {
            switch ($e->getStatusCode()) 
                {
                // not found
                case 404:
                return redirect('home');
                break;

                // internal error
                case '500':
                return redirect('home');
                break;

                default:
                    return parent::render($request, $e);
                break;
            }
        }

De manera que la función completa nos queda así:

public function render($request, Exception $e)
    {
        if($this->isHttpException($e))
        {
            switch ($e->getStatusCode()) 
                {
                // not found
                case 404:
                return redirect('home');// esta es la ruta hacia donde queremos redirigir
                break;

                // internal error
                case '500':
                return redirect('home');// esta es la ruta hacia donde queremos redirigir
                break;

                default:
                    return parent::render($request, $e);
                break;
            }
        }
        return parent::render($request, $e);
    }

Espero que le sirva de ayuda a alguien.

jueves, 8 de febrero de 2018

Crear enlace activo en laravel

Para crear un enlace destacado en una cierta ruta, por ejemplo la ruta en la que estamos en ese momento, creamos un enlace de este tipo:

<a href="{{url('ruta_relativa')}}" class="dropdown-item {{ (url()->current() == 'https://ruta_completa_a_tu_pagina') ? 'active': '' }}">Usuarios</a>


Espero que le sirva de ayuda a alguien.

martes, 30 de enero de 2018

Problema rutas xampp laravel

Si estás teniendo problemas con las rutas y los controladores usando xampp. Prueba con esto:

1-Copia el .htaccess que esta en la carpeta public y ponlo en la carpeta raiz.
2-Cambia el nombre del fichero server.php que está en el directorio raíz, a index.php.

Después de esto, tendrás que entrar en el proyecto con la ruta de xampp.

Es decir: localhost/nombre_del_proyecto/ruta_a_la_página_o_página.

Eso es todo, espero que le sirva de ayuda a alguien.