[Tutorial] Usar Custom Form Mod como el formulario para Nuevos Temas

Started by vicram10, September 01, 2010, 01:24:54 PM

Previous topic - Next topic

vicram10

Bueno, con este Tutorial, les mostrare como usar el Custom Form Mod como formulario para crear sus temas en Foros Especificos.
En este tutorial no les mostrare como configurar el mod, eso los dejo de tarea.

En el siguiente usaremos el MessageIndex.template.php del theme default, si tu theme posee ese archivo entonces deberas editar ese archivo, pero si no lo tiene entonces usan el del Theme Default (para ambas versiones de SMF es lo mismo esta parte).

SMF 1.1.X

En Themes/{tu_theme}/MessageIndex.template.php

Buscamos

// Create the button set...

Agregamos Antes


//by vicram10
//Establecemos la url del post por defecto, que sería la url normal
$post_url = $scripturl . '?action=post;board=' . $context['current_board'] . '.0';
//ahora consultamos si el foro donde estamos es el foro con id = 1 que le pertenece al foro discusion general
if( $context['current_board'] == ID_BOARD)
$post_url = $scripturl . '?action=form;id=ID_FORMULARIO';
//end by vicram10


Buscamos


'new_topic' => array('test' => 'can_post_new', 'text' => 'smf258', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0'),


Reemplazamos por


//'new_topic' => array('test' => 'can_post_new', 'text' => 'smf258', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0'),
'new_topic' => array('test' => 'can_post_new', 'text' => 'smf258', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $post_url),


Haciendo estos pasos, logramos tener el formulario para el Foro especifico como creador de Temas.

Capturas






SMF 2.0 RC3

En Themes/{tu_theme}/MessageIndex.template.php

Buscamos

// Create the button set...

Agregamos Antes


//by vicram10
//Establecemos la url del post por defecto, que sería la url normal
$post_url = $scripturl . '?action=post;board=' . $context['current_board'] . '.0';
//ahora consultamos si el foro donde estamos es el foro con id = 1 que le pertenece al foro discusion general
if( $context['current_board'] == ID_BOARD)
$post_url = $scripturl . '?action=form;id=ID_FORMULARIO';
//end by vicram10


Buscamos


new_topic' => array('test' => 'can_post_new', 'text' => 'new_topic', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0', 'active' => true),


Reemplazamos por


//'new_topic' => array('test' => 'can_post_new', 'text' => 'new_topic', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0', 'active' => true),
'new_topic' => array('test' => 'can_post_new', 'text' => 'new_topic', 'image' => 'new_topic.gif', 'lang' => true, 'url' => $post_url, 'active' => true),


Haciendo estos pasos, logramos tener el formulario para el Foro especifico como creador de Temas.

Capturas






Observacion para ambas versiones

Explicando un poco la parte del codigo importante

if( $context['current_board'] == ID_BOARD)
$post_url = $scripturl . '?action=form;id=ID_FORMULARIO';


Donde dice ID_FORMULARIO, deberia de ir el id del formulario que queremos que sea el creador de Nuevos Temas para el foro que queremos, para saber cuales son las ID disponibles solo debemos acceder a su panel del CustomForm Mod

http://www.tuweb.com/index.php?action=form

Donde dice ID_BOARD deberia de ir el id del foro que quieren que se use el formulario del CustomForm Mod, por dar un ejemplo el foro tutoriales de aqui en SMF

http://www.simplemachines.org/community/index.php?board=100.0

su ID es 100 (le sacamos el ".0" ) entonces el codigo quedaria

if( $context['current_board'] == 100)
$post_url = $scripturl . '?action=form;id=1';


Solo deben duplicar este codigo las veces que quieren y con las ID de los foros y formularios diferentes para que mas foros tengan esta caracteristica.

Quote
Edito:
Haciendo un estudio del mod con la posibilidad de varios foros pero con el mismo Formulario, llegue a la siguiente conclusion
Solo se puede 1 formulario por foro y no varios foros el mismo formulario.. debido a que cuando se crea el formulario se selecciona exclusivamente 1 Foro y no varios...

Aportadordelmix


mirahalo

exelente.

tambien si van a usar ese formulario en varios foros, seria conveniente  ponerlos todos en un array:

Code (php) Select
$foros_form =  array(1,2,3,4,5);  // donde 1,2,3,4,5 son los ids de los foros en donde se mostrará el formulario

if (in_array( $context['current_board'], $foros_form)
$post_url = $scripturl . '?action=form;id=1';


;)

vicram10

si, es la forma como hice para algo que estoy desarrollando para ShareDownload, pero como aqui se perderian decidi hacerlo el clasico por el mas facil xDD pero ahi agregue el tuyo tambien para el que quiera escribir menos, gracias mirahalo...

Quote from: ABM on September 01, 2010, 02:13:48 PM
Muchas gracias vicram!!!
:)

de nada

4Kstore


¡¡NEW MOD: Sparkles User Names!!!

DoctorMalboro

Vinieron hinchando las bolas hace rato con esto, al fin hay algún tutorial. Excelente aporte, vic ;)

(si te molesta que te llame vic... hago que te banneen :P )

vicram10

Quote from: DoctorMalboro on September 01, 2010, 06:01:54 PM
Vinieron hinchando las bolas hace rato con esto, al fin hay algún tutorial. Excelente aporte, vic ;)

"No hay problema" como diria ALF...

vicram10

Edito:

Mirando el mod y usando con el tutorial, solo se puede 1 formulario por foro y no varios foros el mismo formulario.. debido a que cuando se crea el formulario se selecciona exclusivamente 1 Foro y no varios...

lucas-ruroken

no  podrias hacer varios foros con in_array

$id_board = array(todos,los,foros,separados,por,coma);

y aca:
if( $context['current_board'] == ID_BOARD)
por
if(in_array($context['current_board'],$id_board)

::) se podria asi o no?
Adk Portal 3.1 is coming....

Design your universe!

vicram10

Quote from: vicram10 on September 02, 2010, 03:07:05 PM
Edito:

Mirando el mod y usando con el tutorial, solo se puede 1 formulario por foro y no varios foros el mismo formulario.. debido a que cuando se crea el formulario se selecciona exclusivamente 1 Foro y no varios...

Si miras mi quote, sabras el por que no lo hice asi  ::) ademas eso del array ya lo dijo mirahalo y ahi lo explico el por que no se usa... ademas lo testee para estar seguro de lo que digo

El tema esta, que podes usar el formulario, pero cuando creas el formulario especificas exclusivamente en que FORO sera publicado, y sin importar que 100 foros tengan ese formulario (misma ID del formulario) todos seran publicados en el foro que se especifico en el mod

lucas-ruroken

xD no habia leido post mas arribas, gracias por la aclaracion vic ;)
Adk Portal 3.1 is coming....

Design your universe!

vicram10

Entonces la moraleja es, leer antes de apurarse y decir algo que ya fue aclarado, no da gusto repetir lo mismo siempre ;D

lucas-ruroken

Adk Portal 3.1 is coming....

Design your universe!

vicram10

"no hay de queso sono mas de papa"




Pd.: no hay problema significa en la jerga de Chespirito

lucas-ruroken

Adk Portal 3.1 is coming....

Design your universe!


vicram10

gracias.. muchas gracias



aunque en realidad soy Licenciado, recibo mi titulo este octubre :P

Aportadordelmix

Quote from: vicram10 on September 03, 2010, 12:21:06 AM
gracias.. muchas gracias



aunque en realidad soy Licenciado, recibo mi titulo este octubre :P

Filicitaciones por el título Victor

vicram10

Quote from: ABM on September 03, 2010, 08:54:31 AM
Filicitaciones por el título Victor

Gracias ABM

Por cierto en tu firma la 2 zonas que apuntas a tu foro no funciona.. ya que le pusiste una U en ves de Y :)

Aportadordelmix

Quote from: vicram10 on September 03, 2010, 10:06:47 AM
Quote from: ABM on September 03, 2010, 08:54:31 AM
Filicitaciones por el título Victor

Gracias ABM

Por cierto en tu firma la 2 zonas que apuntas a tu foro no funciona.. ya que le pusiste una U en ves de Y :)

Muchas gracias por la corrección  :)

Advertisement: