Ir al contenido
Docs

Guía para desarrolladores

Otras convenciones (zona horaria, IP, galería)

Una colección de convenciones del núcleo que conviene conocer al desarrollar para terceros.

Manejo de zonas horarias

Zittme maneja la zona horaria en dos partes.

TipoSignificadoAjuste
Zona horaria internaZona fija que se usa para guardar fechas en la BD. Se define al instalar y no se puede cambiar despuéslocale.internal_timezone
Zona horaria de visualizaciónZona que se usa para mostrar fechas en pantalla. El administrador puede cambiarlalocale.default_timezone

Las fechas se guardan principalmente como cadenas YYYYMMDDHHIISS.

Reglas al desarrollar:

  • Guarda según la zona horaria interna: date('YmdHis'), getInternalDateTime()
  • Muestra según la zona horaria de visualización: zdate($value, 'Y-m-d'), getDisplayDateTime()
  • Si recortas el valor guardado con substr y lo muestras tal cual, se desfasará en sitios con otra zona horaria. Para mostrar usa siempre zdate().
  • El horario de verano lo calcula el núcleo automáticamente. No lo manejes tú.

Gracias a esta estructura, las fechas guardadas no se desfasan aunque migres de servidor.

Direcciones IP y notación de rangos

Donde se capturan IP, como en listas de bloqueo o de permitidos, se admiten estas notaciones.

NotaciónEjemplo
IPv4 individual192.168.122.96
Comodín192.168.122.*, 192.168.*.*
Rango192.168.122.0-192.168.122.255
CIDR192.168.216.0/24
IPv62001:2300::ffff:0, ::1
IPv6 CIDR2001:2300::/64

Para validar o evaluar en código, usa el filtro del núcleo. IPv6 tiene muchas notaciones y analizarlo por tu cuenta es riesgoso.

use Zittme\Framework\Filters\IpFilter;

IpFilter::validateRange($range);          // 대역 표기가 올바른가
IpFilter::inRange($ipaddress, $range);    // 이 IP가 대역에 드는가

PhotoSwipe (galería de imágenes)

La función que muestra en grande, como galería, las imágenes del contenido al pulsarlas viene incluida como complemento. En el skin funciona sin integración adicional, solo con respetar las reglas de marcado.

  • Las imágenes dentro de un contenedor con la clase xe_content (o rhymix_content) entran automáticamente en la galería. Por convención, los skins ponen esta clase en el área donde se muestra el contenido.
  • Si quieres incluir en la galería una imagen fuera del contenedor, ponle la clase photoswipe-images (tiene prioridad sobre las condiciones de exclusión).
  • Para excluir una imagen concreta de la galería, ponle la clase photoswipe-escape (o rx-escape).
  • Las imágenes dentro de enlaces (a), código (pre,code) y elementos de formulario se excluyen automáticamente.
<div class="rhymix_content xe_content">{!! $oDocument->getContent(false) !!}</div>

<img class="photoswipe-images" src="poster.jpg" alt="" />   <!-- 본문 밖이지만 갤러리 포함 -->
<img class="photoswipe-escape" src="icon.png" alt="" />     <!-- 갤러리 제외 -->