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.

sábado, 16 de diciembre de 2017

Emulador Nox en modo desarrollo

Para cambiar Nox al modo desarrollo, deberemos seguir unos pasos, esto nos sirve para probar nuestras aplicaciones web en un emulador de android.

1º-Instalamos y ejecutamos Nox, al ejecutarlo debemos ir a configuración del sistema, en el menu de Nox (arriba), se nos abre por defecto la pestaña configuración general, y ahí cambiamos en iniciar root, lo habilitamos pulsando sobre el checkbox ( el cuadradito), pulsamos abajo en guardar configuración y reiniciamos Nox.

2º- Con Nox reiniciado, vamos a settings (ajustes) en el Android, es decir dentro de nuestro emulador, no a los botones de Nox, en mi versión por ejemplo ajustes está en tools, en la pantalla principal.

3º- Ahora vamos a información de la tablet ( about tablet) y entramos, y donde pone Número de compilación, pulsamos 5 veces, puede que en otras versiones haya que pulsar más o menos veces, cuando este preparado te lo indicará con una advertencia el android, que ya esta en modo desarrollo.

4º- Volvemos atrás y en ajustes ( settings ), te saldrá una pestaña nueva, llamada Opciones de desarrollo, pues entramos ahí, en la zona de depuración ( debug ), habilitamos la opción Depuración USB ( debugger USB ).

5º- Reiniciamos Nox, y en nuestra consola ejecutamos, primero adb kill-server para parar el servidor por si está ejecutándose algo, después con el Nox encendido, ejecutamos adb connect 127.0.0.1:62001. Para comprobar si nuestra sistema reconoce el dispositivo, ejecutamos la consulta de nuestro dispositivo, por ejemplo en Nativescript que es lo que yo estoy utilizando ejecuto en la consola: tns device , si hay algún dispositivo o emulador este comando te lo muestrá, y para terminar ejecuto en la consola: tns run android, que correrá la aplicación en el emulador Nox.

Espero que les haya servido de ayuda.

miércoles, 13 de diciembre de 2017

Crear opacidad en una imagen de fondo en nativescript

Para crear una imagen de fondo con nativescript a falta de otros recursos yo lo he hecho de esta manera:

1º- En la etiqueta page, pero puede ser en cualquier etiqueta que vaya de cabecera en la página, pues introducimos el background-image: url ("ejemplo.jpg"), con background-size: cover, y después viene la raiz del problema, entonces creamos una etiqueta que envase el resto de la página por ejemplo un GridLayout y establecemos el color de fondo con rgba, background-color: rgba(255, 249, 192, 0.7) por ejemplo y ya esta, ya tenemos nuestra imagen de fondo
la opacidad creada.

Aquí os dejo un código de ejemplo que yo he utilizado:

CSS:

page {background-image: url("~/images/pixabay_motocross.jpg"); background-size: cover;}
GridLayout {
background-color: rgba(255, 249, 192, 0.7);
}

HTML:

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo" class="page" tintColor="yellow">
<GridLayout rows="*,80">
<ScrollView row="0">
<FlexboxLayout id="teledeporte" flexDirection="column">
<FlexboxLayout flexDirection="column">
<Label text="Introducir deporte" ></Label>
<textField hint="introducir" autocorrect="false" autocapitalizationType="none" [(ngModel)]="Ideporte">
</textField>
<Label text='Has elegido: {{Ideporte}}'></Label>
<Button text="enter" (tap)="enter()" class="enter"></Button>
</FlexboxLayout>
<FlexboxLayout flexDirection="column">
<Label text="Eliminar deporte" ></Label>
<textField hint="introducir" autocorrect="false" autocapitalizationType="none" [(ngModel)]="Rdeporte">
</textField>
<Label text='Vas a eliminar: {{Rdeporte}}'></Label>
<Button text="delete" (tap)="delete()" class="delete"></Button>
</FlexboxLayout>
<Button text="Consultar" (tap)="loadFile()" class="consultar"></Button><br>
<FlexboxLayout flexDirection="column">
<StackLayout *ngFor="let item of str">
<Label [text]="item" textWrap="true"></Label><br/>
</StackLayout>
</FlexboxLayout>
</FlexboxLayout>
</ScrollView>
<StackLayout row="1" orientation="horizontal">
<Button text="< BACK" (tap)="goBack()" class="back"></Button>
</StackLayout>
</GridLayout>
</Page>


Espero que le pueda servir de ayuda a alguien.

martes, 28 de noviembre de 2017

Instalar versión previa del plugin nativescript-plugin-firebase

He buscado por la red y no he encontrado ninguna información sobre como instalar una versión previa de este plugin, pero al final encontré la solución, para los que sabemos poco de programación nos servirá de ayuda.

Simplemente escribimos en la linea de comandos, después de instalar node.js y nativescript, y tras haber creado nuestro proyecto en nativescript:

tns add plugin nativescript-plugin-firebase@x.x.x

x.x.x es la versión que queramos instalar, yo por ejemplo:

tns add plugin nativescript-plugin-firebase@4.2.1

ya que me estaba dando problemas la nueva versión 5 de este plugin.

Espero que les sirva de ayuda.

sábado, 19 de agosto de 2017

Crear ficheros .pot, .po y .mo en windows

Para crear ficheros .pot, .po y .mo utilizaremos las herramientas Eazy po y Poedit.

Los puedes descargar desde estos enlaces:

eazypo

poedit

Eazy po y Poedit son dos herramientas gratuitas, eazy po es para crear los ficheros .pot, y poedit es para los ficheros .po y .mo, aunque también puedes crear los ficheros .pot desde el poedit, esta funcionalidad solo la tiene el poedit pro, el cual es de pago. Nosotros crearemos los ficheros de manera gratuita.

Ahora seguiremos unos pasos muy sencillos para crear los ficheros .pot con Eazy po:

1- Descargamos el fichero zip desde la página oficial, el enlace que os dejo arriba.

2-Descomprimimos el fichero zip, una vez descomprimido vamos abriendo carpetas hasta que veamos el .exe ( EazyPo.exe).




3- Hacemos doble click para abrirlo, se nos abrira una ventana como esta:


4- Hacemos doble click sobre el primero , Extract messages from source code, que es que nos va a crear el fichero .pot desde los archivos fuente, en este caso un archivo .php que es con el que yo los he realizado para internacionalizar un plugin de wordpress.
  Se nos abrirá una ventana como esta:



5- Entonces rellenamos los campos. El primer campo, pulsamos sobre browse folder que nos abrira el explorador y seleccionamos la carpeta raiz que tiene el archivo .php que queremos traducir, ejemplo si nuestro archivo está dentro de la carpeta my folder pues habrá que seleccionar my folder ya que solo te da la opción de elegir la carpeta raiz de los archivos.
El segundo campo se rellena automáticamente, son las extensiones de archivo que están permitidas.
El tercer campo es importante, ahí salen los archivos que podemos traducir, si por ejemplo tienes varios archivos .php, te traducirá todos, si solo quieres seleccionar uno, pulsa botón derecho sobre los que no quieres traducir, te saldrá un pop up y seleccionas exclude files-> exclude selected file, y ya esto lo excluye de la traducción.
El último campo se deja vacio.

6- En los botones de la izquierda, donde pone build, pinchamos y nos lleva a otra ventana, pulsamos sobre execute command:




7- Nos abrirá una nueva ventana y ya podemos guardar, pulsamos sobre disco verde arriba a la izquierda, esto nos los guarda como messages.pot en el directorio donde están los archivos que seleccionamos anteriormente.

Bueno esto es todo con el Eazy Po.

Ahora vamos con el Poedit.

1- Lo descargamos y nos descarga un ejecutable .exe, pues pulsamos sobre el y nos abrirá un instalador, seguimos las instrucciones y ya lo tenemos. Es muy fácil.

2- Abrimos el poedit y nos abrirá con una ventana como esta:



3-Pinchamos sobre el segundo, ya que para el primero nos hace falta un archivo .po, que es uno de los archivos que precisamente vamos a crear y para el tercero nos pide que compremos el poedit pro.

4- Seleccionamos del explorador el fichero .pot que creamos con el Eazy Po, así que vamos al fichero donde lo creamos y lo seleccionamos.

5-Nos saldrá una ventana como esta:



6- Antes nos saldrá un pop up diciendo en que idioma queremos traducirlo, seleccionamos el idioma.
Seleccionamos el texto que vamos a traducir, y donde pone texto de origen sale el texto que hemos seleccionado y en traducción escribimos el texto en el idioma al que estamos traduciendo, pero una cosa fíjate que a tu derecha hay una sección de sugerencias de traducción, esto nos viene muy bien, podemos seleccionar una de las traducciones que nos aconseja pulsando sobre ella, y  se nos escribirá automáticamente en traducción, pero hay un problema, en el poedit gratuito solo nos dan 10 sugerencias, así que lo que podemos hacer es cuando lleguemos al límite, guardamos, cerramos el poedit y volvemos a abrirlo, pero esta vez seleccionamos el fichero .po que nos generó el poedit y le damos a abrir con-> poedit, eso en windows, y entonces podremos seleccionar otras 10.



7- Y ya hemos creado los ficheros .po y .mo