|
LasNoticias es-AR Noticia, LasNoticias y ResumenNoticias, son un conjunto de Widgets que nos permiten
poder incluir anuncios de noticias dentro dentro de nuestra aplicacion BiF.
Mediante una presentacion a modo resumen, que se puede incluir en el indice de anuncios,
donde se ve un resumen y su imagen correspondiente, y un link q dice por lo general
"Leer Mas", y nos direcciona a otro archivo php que se encarga de mostrarnos la
noticia completa con su resumen aparte, con su fecha de emision, su imagen, y su titulo.
A su vez tambien se pueden incluir palabras claves en cada noticia, en caso de que se desee
armar un bucador de noticias y asi poder buscarlas por su tema.
Los diferentes Widgets a emplear para esta tarea y su funcion
LasNoticias: Se encarga de listar a modo presentacion todos los resumenes
de las noticias mostrando su resumen, su imagen, y una opcion que permite acceder al
articulo completo.
Noticia : Es el Widget que se encarga de mostrar el articulo seleccionado en forma
completa.
ResumenNoticias: Es parecido a las noticias, pero pensado para ser mas compacto, con lo que
solo muestra el titulo de la noticia con un link hacia la version completa de esta misma,
y su fecha de edicion.
Su inclusion en un .bif seria de la siguiente manera, en el caso de que la noticia
a observar sea la noticia con el valor 1 dentro del registro correspondiente al campo id.
<LasNoticias/>
<Noticia ID="1"/>
<ResumenNoticias/> |
Los parametro de cada uno son
LasNoticias: WHERE condicion extra para mostrar las noticias, ej palabras claves, etc.
MAX maximo numero de noticias a mostrar
FROM noticia desde cual empezar a listar
Noticia : ID numero de noticia a mostrar
El archivo correpondiente al widget Noticias debe tener algo de codigo adicional
para poder capturar la variable enviada en la url o sea ?id=
<?php
include_once('bifConfig.inc.php');
$id = $_SESSION['_BifApplication']->getParameter('id');
$root =& render_file('Contenido/noticias.bif', array("ID" => $id));
print $root->draw();
?> |
Dentro del .bif para indicarle que id es una variable debe contener lo siguiente
<BifRoot>
<Noticia id="{ID}"/>
</BifRoot> |
La estructura de la tabla MySQL para las noticias es la siguiente:
DROP TABLE IF EXISTS noticias;
REATE TABLE noticias (
id int(11) NOT NULL auto_increment,
Titulo varchar(250) NOT NULL default '',
Fecha int(14) NOT NULL default '0',
Imagen varchar(250) default NULL,
Resumen varchar(250) NOT NULL default '',
Contenido text NOT NULL,
habilitado tinyint(1) NOT NULL default '1',
PalabrasClaves varchar(250) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM AUTO_INCREMENT=10 ; |
Para una correcta administracion de la tabla de Noticias, existen dos Componentes,
un IDM que se encarga de los contenidos dentro de la tabla, IDM_News. Y el que se encarga
de subir la Imagen es un componente generico que se utiliza para subir imagenes al servidor
en este caso hay que indicarle en directorio donde van las imagenes de cada Noticia
O sea que dentro del archivo mapping.txt correspondiente a la aplicacion deben ir las siguiente
lineas.
a_news:IDM_News(insert)
m_news:IDM_News(modify)
u_img:ImageUpload(uploaded-images) |
Para incluir los componentes de administracion dentro de un archivo .bif
<BifContainer WidgetAccess="(keys = a and level > 5) or (user = admin)">
<BifInclude SRC="component://a_news" />
<BifInclude SRC="component://m_news" />
<BifInclude SRC="component://u_img" />
</BifContainer> |
Como se ve, hay un parametro o atributo extra en el tag BifContainer, que es
WidgetAcces, el cual indica que solo en usuario admin puede ver lo que hay dentro
de BifContainer, o sea el IDM_News, y el ImageUpload.
Otra posibilidad en vez de usar username, es tambien el parametro keys, o level.
Si queremos agregar un buscador de Noticias a nuestra aplicacion, debemos crear los
siguiente archivos (sacado del paquete Gleducar).
Archivo buscar.php
<?php
include_once('bifConfig.inc.php');
$q = $_SESSION['_BifApplication']->getParameter('q');
if ($q) {
$s = 'true';
} else {
$s = 'false';
}
if (strlen($q) < 4) {
$cua = "La búsqueda debe ser de al menos <b>cuatro</b> letras.<br />";
}
$root =&render_file('Contenido/buscar.bif',array('q' => $q,
'SHOW_RESULTS' => $s,
'CUATROLETRAS' => $cua,
));
print $root->draw();
?> |
Dentro de buscar.bif
<BifRoot title="Busquedas">
{CUATROLETRAS}
<FT action="buscar.php">
<FTText name="q" description="Ingrese su búsqueda: " value="{q}"/>
<FTSubmit value="Buscar"/>
</FT>
<BifContainer widgetaccess="{SHOW_RESULTS}">
<LasNoticias WHERE="MATCH (Resumen) AGAINST('{q}' IN BOOLEAN MODE)" />
</BifContainer>
</BifRoot> |
Comentarios, preguntas
Sergio(linuxvarela_at_yahoo.com.ar).
Recomendaciones: Observar la componsicion del paquete Gleducar disponible en el CVS de BiF.
Leer el tutorial de autenticacion
Editar los tpl que corresponden a los Widgets Noticias, LasNoticias,
y ResumenNoticias
| Prev |
|
Next |
| ChangeState es-AR |
|
|
|