News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Como unir foro con web con SSI?

Started by Leo.J90, November 02, 2005, 05:54:23 PM

Previous topic - Next topic

Leo.J90

Autor: -=[ Mr. Knightmare ]=-


Bueno, con esto pretendo explicar basicamente como tener unida su web, con su foro SMF.

Por ahora vamos a ir por cosas bien basicas, e ir mejorando con el tiempo, este manual todavia no esta terminado, pero voy a ir dando las bases para que vayan jugando con su web y su foro.

Primero que nada, para este tuto, supongamos que nuestra web la tenemos en:

Quote
http://www.infohackargentina.com.ar/

Y el foro lo tenemos en:

Quote
http://www.infohackargentina.com.ar/foro

Esto, ustedes lo van a poder cambiar luego a su antojo, pero para los ejemplos de este tuto, se usaron asi.

Y cabe aclarar, que para unir nuestra web con el foro, no es necesario editar ningun archivo del foro. Veremos que a veces resulta conveniente, pero se les va a dificultar despues para realizar updates, etc, por lo que no se los recomiendo.

Bueno, empezemos:

Para que todas estas maravillas funcionen en su sitio, lo primero que deben hacer es incluir este pedazo de codigo al principio de cada pagina que use alguna particularidad del foro.


<?php
require("/foro/SSI.php"); 
?>



Con esto, ya disponemos de la mayor parte de opciones del foro, ahora tenemos que saber como usarlas bien para lograr lo que queremos. Por eso es que con SMF unir tu web con el foro resulta muy facil, porque la mayoria del trabajo la realiza este archivo.

Ya con esto tienen la base, ahora si van con el navegador a http://www.infohackargentina.com.ar/foro/ssi_examples.php tienen un monton de ejemplos de como puede hacer para mostrar ciertas partes del foro en su web.

Como ven, el archivo se explica por si solo y es bastante facil, pero veamos un par de ejemplos.

Si quieren mostrar los ultimos 10 posts del foro en alguna parte de la web solo tiene que agregar:


<?php
ssi_recentTopics
();
?>



Y listo!, con eso ya se los muestra, vieron que facil?

No se olviden de poner el require al archivo SSI.php del foro en cada pagina que usen esto.

En ese archivo tienen todos los ejemplos de las funciones que pueden usar en su sitio, asi que no voy a dar mas, solo uno.

Supongamos el login, mientras el usuario no se haya logeado, mostraria el formulario de login, pero una vez que se logeo con un usuario y clave validos, tendriamos que mostrar un mensaje de bienvenida y no mostrar mas el formulario de login, ya que el user ya se logeo, no haria falta mostrarlo.

Entonces pondriamos algo asi:


<?php
require("/foro/SSI.php");

//Muestro el formulario de login, para que el user se logee.
//SI se fijan en el archivo ssi_examples pueden ver que esto se realiza mediante la funcion ssi_login();, por lo tanto con solo llamarla desde nuestro archivo, ya se mostraria.
ssi_login();

//Aca muestro el mensaje de bienvenida que dice Bienvenido(a), visitante, por favor ingresar o registrarse.
ssi_welcome();

?>



Y listo!, y como les decia, el foro se encarga de chequear de que el usuario este logeado, y mostrarle la parte correcta, por lo tanto nosotros no necesitamos hacer el chequeo de si el user este logeado, etc.

O sea, si ejecutan ese script, y si no estan logeados, el foro los detecta como visitantes y entonecs la funcion ssi_login, devuelve el formulario de login, y ssi_welcome les muestra el mensaje de bienvenida. Pero una vez que se logearon, el foro los detecta como usuario, y entonces la funcion ssi_login, devuelve valor nulo, ya que seria innecesario mostrar el form de login si ya estan logeados, y la funcion ssi_welcome les devuelve la tipica frase de SMF: 

Quote
Hola, Knightmare, tienes 0 mensajes, 0 son nuevos.

Como ven, el foro se encargo automaticamente de mostrarles la parte correcta que deberian visualizar.

Bueno y asi, si van probando con las distintas funciones del ssi_examples, todas funcionan de la misma manera.

Por ejemplo si pusimos para mostrar los ultimos 10 posts del foro en el sitio mediante la funcion ssi_recentTopics();

Se encarga automaticamente de mostrarles solamente los foros en los que tienen acceso. Por ejemplo si son admins del foro, y el foro tiene un subforo de solo acceso a los admin, al usar esa funcion en su sitio, les mostraria los ultimos 10 posts del foro, incluidos la del subforo admin, pero si son visitantes, no les mostraria las de este subforo, porque no tienen acceso. Y entonces repito, como ven, el foro se encarga de automaticamente detectar todo.

Y lo mismo, si el foro tiene bloqueado el acceso a los visitantes, pero normal a los usuarios registrados. En su sitio no van a ver los ultimos 10 posts hasta tanto se logueen.

Bueno, con esto ya pueden ir probando y jugando un poquito.

Mas adelante voy a explicar como hacer para cambiar la manera en que se ve cuando usan las funciones, y de poder personalizarlas un poco tambien. De manera que al usar una funcion en tu sitio, poder cambiar la manera en que se muestran, etc. Como por ejemplo cambiar aspectos de la letra (color, etc), imprimirlas en otro formato, sacar cosas, etc, para que quede del mismo aspecto que su sitio web. Y no la manera default que la imprime el foro. Pero tampoco es para nada dificil, asi que ya vendra.

Y despues, mas adelante todavia, vamos a ver como poder meternos aun mas adentro del SMF, y disponer de todas las caracteristicas de este.


Fuente: InfoHackArgentina

Alex-BCN

mmmmm..... interesante manual, gracias x el aporte tio la verdad eske sta muy bien  :D

Pichichi

gracias por el tutorial, me va a ser de gran ayuda... lo único que pongo lo de ingresar usuario y me sale en dos líneas, cómo puedo hacer para que salga el cajetín de user y  password seguido en una línea como en la página de ejemplo que pusiste?

[darksteel]

Usa el <?php ssi_login(); ?>

darksteel-



Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

[darksteel]




Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

Braxis Copperwire

</Braxis Copperwire>

::Winsmurf::

asi es...esto es muy simple...
abran el ssi_examples.php y ahi encontrarán mas codes ;) 8)
MaxBox

Pichichi

Quote from: [darksteel] on November 11, 2005, 06:48:43 PM
Usa el <?php ssi_login(); ?>

darksteel-

ya, pero poniendo ese código, los cajetines de usuario y contraseña me salen en distintas líneas.  De todas formas, he descubierto que puedo editar el archivo ssi.php y modificar la apariencia de presentación.

Muchas gracias por la ayuda, darksteel.

[darksteel]

Quote from: Pichichi on November 12, 2005, 08:15:43 PM
Quote from: [darksteel] on November 11, 2005, 06:48:43 PM
Usa el <?php ssi_login(); ?>

darksteel-

ya, pero poniendo ese código, los cajetines de usuario y contraseña me salen en distintas líneas.  De todas formas, he descubierto que puedo editar el archivo ssi.php y modificar la apariencia de presentación.

Muchas gracias por la ayuda, darksteel.

exacto.



Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

Leo.J90

Quote from: Braxis Copperwire on November 11, 2005, 07:58:44 PM
Sos groso, sabelo.
Groso? No será "Broso"  el payaso? porq en mi vida escuché esa palabra.  :-\

S3RGIU

Quote from: Leoj90 on November 13, 2005, 12:03:23 AM
Quote from: Braxis Copperwire on November 11, 2005, 07:58:44 PM
Sos groso, sabelo.
Groso? No será "Broso"  el payaso? porq en mi vida escuché esa palabra.  :-\

Se refiere a que eres grueso.. grande... El mejor.

Por cierto, Muchas gracias tio... ;) Buenisimo manual... :D

SALUDOS

S3RGIU

Pero una cosa... Onde pongo el

<?php
require("/foro/SSI.php");
?>

Entre el <head>

o el <doby>

SALUDOS

[darksteel]

Quote from: | ﮎξЯאป™ | on November 13, 2005, 05:24:16 PM
Pero una cosa... Onde pongo el

<?php
require("/foro/SSI.php");
?>

Entre el <head>

o el <doby>

SALUDOS

Antes de <html>

darksteel-



Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

::Winsmurf::

Quote from: | ﮎξЯאป™ | on November 13, 2005, 05:24:16 PM
Pero una cosa... Onde pongo el

<?php
require("/foro/SSI.php");
?>

Entre el <head>

o el <doby>

SALUDOS

Before <html> tag..o sea bien arriba!
MaxBox

Leo.J90

Ups, si, me falto aclarar  :D La mayoria de los codigos php van antes de todo.. depende q tipo de codigo.  ;)

S3RGIU

Pues sorry... :( A mi me da este error y lo he hecho de un webo de formas... :s

Warning: main(/foro/SSI.php): failed to open stream: No such file or directory in /home/*****/public_html/solorealmadrid-com/index.php on line 2

Warning: main(/foro/SSI.php): failed to open stream: No such file or directory in /home/***/public_html/solorealmadrid-com/index.php on line 2

Fatal error: main(): Failed opening required '/foro/SSI.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/****/public_html/solorealmadrid-com/index.php on line 2


SALUDOS y a ver si me pueden ayudar... ;)

[darksteel]

No debes usar esto:
<?php
require("/foro/SSI.php");
?>


Ingresa como administrador del foro y luego ve a  ssi_examples, que te dara el path completo y ese es el que usarás.

darksteel-



Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

S3RGIU

yeeeeeeee. Estas en todo... :D Eres el mejor... Pero por ejemplo, cuando yo quiero poner:

<?php ssi_whosOnline(); ?>

Pues en mi web, por ejemplo pone:

Quote0  , 1   Serxu

No pone lo de visitantes 0 y Usuarios 0... :s A ver si me puedes ayudar a arreglar eso... :P

SALUDOS y repito El manuel esta de lo mejorcito... :D

SALUDOS

[darksteel]

Verifica que tengas bién los archivos del lenguaje :).

darksteel-



Luis "[darksteel]" Alvarado.
Spanish Support
¿Qué es el repair_settings?
No doy soporte por PM, publica tu duda en el foro y tendras respuestas mas rapidas.
My forum:
www.caamboard.com

Mr. Knightmare

Bueno, bueno, que bueno que les gusto.

El manual esta basado en las SSI FAQS que se encuentran en este mismo foro, solo que en ingles, asi que les recomiendo leerselas.

Quote from: Pichichi on November 11, 2005, 12:20:50 PM
gracias por el tutorial, me va a ser de gran ayuda... lo único que pongo lo de ingresar usuario y me sale en dos líneas, cómo puedo hacer para que salga el cajetín de user y  password seguido en una línea como en la página de ejemplo que pusiste?

Para eso podes ver que las funciones aceptan distintos parametros, depende la funcion, en general la ultima, indica el modo en el que devuelve los datos, por default es "echo", es decir, los imprimi directamente sobre la pagina, pero tambien tenes la opcion de que devuelva los datos como "array", para luego poder personalizar la manera en que se imprimen.

Para ver que parametros acepta cada funcion, mira el src del archivo SSI.php, al declararse las funciones, podes ver cuales son los parametros que aceptan. Con esto se puede personalizar bastante.

Quote from: | ﮎξЯאป™ | on November 14, 2005, 05:26:04 PM
<?php ssi_whosOnline(); ?>

Pues en mi web, por ejemplo pone:

Quote0  , 1   Serxu

No pone lo de visitantes 0 y Usuarios 0... :s A ver si me puedes ayudar a arreglar eso... :P

La verdad ni idea, no tendras problemas con el lenguaje del foro?? porque parecerias que no se imprimen los $txt[]...

Pero en todo caso igualmente te recomiendo usar la funcion <?php ssi_logOnline(); ?> que lo que hace es tambien contabilizar al usuario viendo esa pagina, como usuario en linea, o sea, vas a poder ver los usuarios en linea, que se encuentran en el foro, mas los que se encuentran en el sitio, que usando la funcion que usaste vos, solo mostraria los visitantes que estan en linea en el foro.

Bueno, voy a ver si motivado por esto, terminado de terminar este pequeño manual. ;)

hxxp:www.infohackargentina.com.ar/ [nonactive]

Advertisement: