Advertisement:

Author Topic: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's  (Read 639 times)

Offline Dhayzon

  • Sophist Member
  • *****
  • Posts: 1,344
  • Gender: Male
  • DhayZone RevolutioN
    • Dhayzon on GitHub
    • @dhayzon on Twitter
    • http://dhayzon.com/
[TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« on: April 08, 2020, 07:06:43 PM »
Algo hermoso que descubrí hace mucho tiempo  y  que apenas  días atras le tome importancia y   lo entendí al 100%  jaja

se trata de que crear paginas directamente en tu theme  sin hacer mods ni nada y  las genialidades que se pueden hacer son muchas

Casos de uso

Quiero crear una Api rest  solo para que  me devuelva los  top  users 

La url seria

https://localhost/index.php?action=Api;sa=Toptuser;



me devolvería algo como esto ( top user   para el ejemplo) - pudes sacar 30 o lo quieras
Code: [Select]
{

    "id": 78,

    "nombre": "Juan",

    "post": 100000,

}

 
esto combinado con ajax puedo hacer pequeños módulos interesantes 


OTRO CASO DE USO


Si quiero crear un chat

la url seria por ejemplo

https://localhost/index.php?action=chat;


y al entrar   se mostraría tu foro  con el header y footer pero con tu chat en el medio


Normalmente esto podría hacerse con mods, pero esto nos da más libertades
 
¿VEAMOS COMO SE HACE?



PARA UN CHAT SIGUE ESTO PASOS

editaremos   el archivo index.template.php del theme que estés usando (todos lo tienen)

1:Buscar la linea  (utiliza la función buscar de tu  editor de codigo favorito)

Code: [Select]
$settings['require_theme_strings'] = false;
2:Agregar despues

Code: [Select]
if (@$_REQUEST['action'] == 'chat')
$settings['catch_action'] = array(
'template' => 'ThemeChat',
);

3:Guardar  Ahora visualiza https://localhost/index.php?action=chat;

deberia salir un error de plantilla, no te asustes, Continuemos


4. Crea un nuevo archivo y ponle   de nombre ThemeChat.template.php (estamos  creando una nueva plantilla) (obviamente dentro de la carpeta del theme que estés usando)

5. si lo probamos aun tendremos un error

6. en el archivo  ThemeChat.template.php pega este código

Code: [Select]

<?php
function template_main(){
    global 
$context;
      
$context['page_title'] = 'my chat';

       echo
'

  aqui puedo poner el código iframe de cualquier chat , 

'
;

}
?>



una vez que termines hacer eso  ya puedes actualizar y debe aparecer el contenido que pusimos en ThemeChat.template.php


eso es todo

Ventajas

-puedes hacer y deshacer  no tenderas problemas con el núcleo de  smf
-acceso a SSI:php para   usar sus funciones predeterminadas
-puede hacer experimentos sin afectar otras secciones  de tu foro
-paginas ilimitadas puedes crear las que  quieras 
« Last Edit: April 08, 2020, 07:18:41 PM by Dhayzon »

Offline Rock Lee

  • Local Moderator
  • SMF Hero
  • *
  • Posts: 3,753
  • Gender: Male
  • Learning more every day!
    • BomberCode.Oficial on Facebook
    • RockLee-BC on GitHub
    • @Bomber_Code on Twitter
    • Bomber Code ~ La nueva era del conocimiento
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #1 on: April 08, 2020, 07:51:28 PM »
Lo movi a tutoriales que me parece va mejor ;) ademas parece bastante bueno y simple, voy hacer algunas pruebas a ver que tal. Gracias por aportarlo @Dhayzon.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code © 2020
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Offline jemaral

  • Newbie
  • *
  • Posts: 6
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #2 on: April 11, 2020, 10:11:55 PM »
Hola, me interesa este asunto.

He probado en mi foro y es como dices.

Ahora bien, ¿qué código iframe puedo utilizar para disponer de chat realmente?

Gracias!

Offline Dhayzon

  • Sophist Member
  • *****
  • Posts: 1,344
  • Gender: Male
  • DhayZone RevolutioN
    • Dhayzon on GitHub
    • @dhayzon on Twitter
    • http://dhayzon.com/
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #3 on: April 12, 2020, 12:45:27 PM »
Hola, me interesa este asunto.

He probado en mi foro y es como dices.

Ahora bien, ¿qué código iframe puedo utilizar para disponer de chat realmente?

Gracias!

hay varios chaats gratuitos como cbox.ws  o  chatango tambien el antiguo  XAT  esos son chat de terceros  realmente un chat efectivo  realtime integrado con los usuarios de tu sitio  te lo da cbox.ws pero solo en su opcion premiiun,


por la misma arquitectura  de smf que usa php y mysql  un chat nativo  no seria lo ideal

Offline jemaral

  • Newbie
  • *
  • Posts: 6
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #4 on: April 13, 2020, 04:14:13 PM »
Ok gracias, echo un ojo!

Offline vicram10

  • Charter Member
  • SMF Hero
  • *
  • Posts: 6,033
  • Gender: Male
    • vmrm10 on Facebook
    • vicram10 on GitHub
    • vicram10 on LinkedIn
    • @vicram_10 on Twitter
    • Noticias Tecnologicas, Tutoriales e Internet
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #5 on: April 13, 2020, 09:42:41 PM »
bastante simple pero bien certero y excelente.
gracias Dhayzon.

Offline Diego Andrés

  • Customizer
  • SMF Hero
  • *
  • Posts: 3,587
  • Gender: Male
    • DiegoAndresCortes on GitHub
    • @bihgetter on Twitter
    • SMF Tricks - Free & Premium Themes
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #6 on: April 15, 2020, 01:13:59 PM »
Interesante, me recuerda a Daniiel que siempre quería meter json todos lados jajaja  :P
Muy bueno ver un post de esto, es bastante útil dependiendo la situación y si se agrega un poco de javascript mejor aún  :laugh:

SMF Tricks - Free & Premium Responsive Themes for SMF.

Offline gohanjaja

  • Jr. Member
  • **
  • Posts: 377
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #7 on: May 09, 2020, 06:41:42 PM »
Muchas gracias por tu aporte, me pareció una muy buena idea de implementarlo.

Siendo este tu caso:
Code: [Select]
{

    "id": 78,

    "nombre": "Juan",

    "post": 100000,

}

Necesitas algún source en especial ?? O lo trabajas con SSI.php?

Offline Diego Andrés

  • Customizer
  • SMF Hero
  • *
  • Posts: 3,587
  • Gender: Male
    • DiegoAndresCortes on GitHub
    • @bihgetter on Twitter
    • SMF Tricks - Free & Premium Themes
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #8 on: May 09, 2020, 07:14:30 PM »
Eso es la información que el navegador devuelve en formato json

SMF Tricks - Free & Premium Responsive Themes for SMF.

Offline Daniel user

  • Jr. Member
  • **
  • Posts: 248
  • Gender: Male
  • Colaborador
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #9 on: May 09, 2020, 08:54:15 PM »
Hola, aunque si bien eso muestra el navegador, pero no está estructurado así, sino de ésta otra forma:

Code: [Select]
{"id": 78, "nombre": "Juan", "post": 100000}
Todo en una sola línea, incluso aunque sean muchas keys y values.


Saludos

Offline Diego Andrés

  • Customizer
  • SMF Hero
  • *
  • Posts: 3,587
  • Gender: Male
    • DiegoAndresCortes on GitHub
    • @bihgetter on Twitter
    • SMF Tricks - Free & Premium Themes
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #10 on: May 09, 2020, 08:56:33 PM »
Es exactamente lo mismo, pero si usas el inspector te mostrará los elementos como los pone dhayzon

SMF Tricks - Free & Premium Responsive Themes for SMF.

Offline Dhayzon

  • Sophist Member
  • *****
  • Posts: 1,344
  • Gender: Male
  • DhayZone RevolutioN
    • Dhayzon on GitHub
    • @dhayzon on Twitter
    • http://dhayzon.com/
Re: [TUTORIAL] Chat y cosas adicionales en tu theme sin mod's
« Reply #11 on: May 11, 2020, 08:52:05 PM »
Muchas gracias por tu aporte, me pareció una muy buena idea de implementarlo.

Siendo este tu caso:
Code: [Select]
{

    "id": 78,

    "nombre": "Juan",

    "post": 100000,

}

Necesitas algún source en especial ?? O lo trabajas con SSI.php?

se usa  solo ssi  nada dee source

Hola, aunque si bien eso muestra el navegador, pero no está estructurado así, sino de ésta otra forma:

Code: [Select]
{"id": 78, "nombre": "Juan", "post": 100000}
Todo en una sola línea, incluso aunque sean muchas keys y values.


Saludos

eso depende de como codeas  en tu backend es una cosa trivial ,  JSON_PRETTY_PRINT