Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2010-01-15 18:30:29
- milosevic
- Member
- From: Madrid, Spain
- Registered: 2005-09-19
- Posts: 390
[es-es] Publicar / Editar un artículo desde el frontal
Hola:
Esta pregunta es para nota y supongo que no tendrá una respuesta sencilla, pero busco almenos pistas para ver por dónde empezar.
Lo que quiero es que un no usuario se registre en el site (eso con mem_self_register queda cubierto), pero no me vale que tenga que logar en el administrador de textpattern, no quiero que lo haga ni el usuario tampoco, lo que quiero es que pueda, desde una página que gestionaría el acceso con login (también hay plugins para eso) editar / crear SUS propios artículos.
El tema parece tan sencillo como crear una página con un formulario, pero claro ¿a qué función debe atacar ese formulario para guardar el artículo?
Esta es la gran duda, luego seguro que van surgiendo más
Gracias de antemano.
<txp:rocks/>
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
Yo esto lo he hecho alguna vez y no hay que utilizar ninguna función, más allá de utilizar el propio safe_insert para insertar un nuevo registro en la tabla “textpattern” (que es donde se guardan los artículos). Es bastante sencillo y los campos de la tabla son auto-explicativos. Si tienes dudas con alguno, coméntalo por aquí a ver si puedo ayudarte.
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
Un ejemplo que utilicé para una migración de datos:
safe_insert(
"textpattern",
"Title = '$titulo',
Body = '$textocompleto',
Body_html = '$textocompleto',
Excerpt = '$textitem',
Excerpt_html = '$textitem',
Image = '$imagen##$altimagen##$imagen2',
Keywords = '$refer',
Status = $status,
Posted = '$fecha',
AuthorID = 'angel',
LastMod = '$fecha',
LastModID = 'angel',
Section = '$seccion',
textile_body = 0,
textile_excerpt = 0,
Annotate = 0,
url_title = '$url',
AnnotateInvite = 'Comentarios',
custom_1 = '$audio',
custom_2 = '$peso',
custom_3 = '$duracion',
custom_4 = '$entrevistado',
uid = '".md5(uniqid(rand(),true))."',
feed_time ='$fecha'"
);
Offline
#4 2010-01-18 09:33:05
- milosevic
- Member
- From: Madrid, Spain
- Registered: 2005-09-19
- Posts: 390
Re: [es-es] Publicar / Editar un artículo desde el frontal
Mil gracias Juanjo, lo provaré en cuanto pueda.
¿Me serviría safe_insert para editar un artículo ya existente o sólo para crear uno nuevo?
A mi es que me sacas de <txp:lo-que-sea> y no tengo ni idea…
<txp:rocks/>
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
Para editar uno existente, debes usar safe_update
Offline
#6 2010-01-28 15:08:33
- milosevic
- Member
- From: Madrid, Spain
- Registered: 2005-09-19
- Posts: 390
Re: [es-es] Publicar / Editar un artículo desde el frontal
Hola Juanjo:
He empezado a jugar con estas funciones, pero tengo una duda ¿Si sólo quiero cambiar algún campo al editar un post (pongamos el título y el body, por ejemplo) tengo que poner todos los parámetros igualmente y asignarles un valor?
De ser así, me crean dudas estos dos campos:
Image = ‘$imagen##$altimagen##$imagen2’, <— aquí no veo claro qué valores debo inyectar ¿##id-de-la-imagen##texto-alternativo para cada imagen que tenga el artículo?
Posted = ‘$fecha’ <— este seguro que tiene su aquel, porque será un patrón de fecha concreto supongo ¿no?
<txp:rocks/>
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
No, si no vas a modificar un campo no hace falta que lo pongas (en el update).
En el campo Image debes poner exactamente lo que pondrías desde Txp. Normalmente el número. Eso que ves ahí era una cosa rara que yo monté para poder hacer uso de unas imágenes ya metidas en directorios, para no tener que subirlas a TxP, porque aquí se estaban migrando registros de otra bbdd.
La parte de fecha es lo que te admita MySQL. Por ejemplo, creo que ’2010-01-28’ funcionaría.
Un saludo.
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
Hola juanjonavarro
Yo soy muy nuevo en esto de textpattern y aun más con la función safe_update(
tengo el siguiente bloque pero no me almacena los cambios, seguro que es una tontería que no veo
<txp:php>
$titulo = $_POST[‘TITULO’];
echo “nuevo titulo:”;
echo $titulo;
echo “título:”;
echo $article_title;
safe_update(“textpattern”,“Title=’$article_title’”,“Title=’$titulo’”);
</txp:php>
<form action=”“ method=“post”>
<input type=“text” name=“TITULO” value=”<txp:title/>”/><br/>
<input type=“submit” name=“submit” value=“Submit me!” />
</form>
Last edited by jinchos (2010-02-09 13:54:54)
Offline
Re: [es-es] Publicar / Editar un artículo desde el frontal
Te recomiendo que pongas el modo “Depurando” (en Preferencias-> Estado de producción) . Una vez hecho esto, accedes a la página y ves el código fuente. Al final de dicho código fuente podrás ver todas las queries que se están haciendo a la bbdd. Así puedes ver, porqué no funciona la que tú estás lanzando.
Un saludo.
Offline