En serio? o sea, desde Smarty no se puede hacer nada?
Por que el código está codificado (el de WHMCS) y para trabajar la única herramienta que nos da es Smarty :/
Y si realizo la consulta a través de PHP directamente y no usando smarty? ya que me da la ventaja de usar {php}{/php}
edit:
Este parece ser el apartado donde llama los correos:
Código PHP:
if ($action == "emails") {
checkContactPermission("emails");
$ca->setTemplate("clientareaemails");
$result = select_query("tblemails", "COUNT(*)", array("userid" => $client->getID()), "id", "DESC");
$data = mysql_fetch_array($result);
$numitems = $data[0];
list($orderby, $sort, $limit) = clientAreaTableInit("emails", "date", "DESC", $numitems);
$smartyvalues["orderby"] = $orderby;
$smartyvalues["sort"] = strtolower($sort);
if ($orderby == "subject") {
$orderby = "subject";
} else {
$orderby = "date";
}
$emails = array();
$result = select_query("tblemails", "", array("userid" => $client->getID()), $orderby, $sort, $limit);
while ($data = mysql_fetch_array($result)) {
$id = $data["id"];
$date = $data["date"];
$subject = $data["subject"];
$date = fromMySQLDate($date, 1, 1);
$emails[] = array("id" => $id, "date" => $date, "subject" => $subject);
}
$ca->assign("emails", $emails);
$smartyvalues = array_merge($smartyvalues, clientAreaTablePageNav($numitems));
El código smarty es:
Código HTML:
Ver original{foreach from=$emails item=email}
{$email.subject}
{/foreach}
(es más largo, pero solo pongo la parte del foreach y omito otras variables que usa que creo no son relevantes....)
Muestra solo 50 items máximo (por página) :/ lo ideal sería mostrar más.
Si a través de Smarty no se puede... qué código PHP simple puedo usar para reemplazar el de smarty?
edit 2:
Uhh algo bueno, pero que no sé como usar, jaja maldición! xD debo seguir aprendiendo :(
Encontré entre las funciones esto:
Código PHP:
$pagelimit = "";
$itemlimit = $whmcs->get_req_var( "itemlimit" );
$orderby = $whmcs->get_req_var( "orderby" );
if ($itemlimit == "all") {
$pagelimit = 100000003;
}
else {
if (is_numeric( $itemlimit )) {
$pagelimit = $itemlimit;
}
}
Al usar la acción logro mostrar más items :) lo malo es que este código PHP directo, es inalterable, así que no sé como usar eso en smarty o a través de {php} de smarty - debido a que soy demasiado bruto al respecto xD
Por ahora puedo usar un "arreglo" temporal y es modificar las urls para que contengan tal atributo :/