it-swarm-es.tech

El botón Eliminar del backend no analiza la matriz cid [] que contiene el ID de las casillas marcadas

En la sección de administración de un componente, tengo este formulario:

enter image description here

Acabo de agregar las casillas de verificación a la izquierda después de esto API de Joomla .

Mi código:

$i=$rows_num;
$checked    = JHTML::_( 'grid.id', $i, $voter["vid"] );
echo $checked;

Y el botón Eliminar que se muestra en una imagen así:

$bar->appendButton( 'Link', 'delete', 'Διαγραφή συγκεκριμένων ψήφων', 'index.php?option=com_exnetpolls&deleteit='.$isnotempty.'&gotcha=yo ');

El componente no es mío y el creador no usó un controlador (cada acción se ejecuta en el archivo exnetpolls.php), así que creé un nuevo archivo getitdeleted.php y en exnetpolls.php agregué este código:

exnetpolls.php (primer archivo que se ejecuta)

if($_GET['deleteit']!="" && $_GET['deleteit']!=NULL){ 
    include("getitdeleted.php");
}

Y en getitdeleted.php

<?php
defined('_JEXEC') or die('Restricted access');
echo "test";
$cid = JRequest::getVar('cid',array(),'','array');
var_dump($cid);
if(isset($_GET['gotcha'])){
echo "worked".$_GET['deleteit'];
//code to delete from db
unset($_GET['gotcha']);
}

Sé que la forma en que estoy usando se reinicia un poco, pero funciona, excepto que:

$cid = JRequest::getVar('cid',array(),'','array');
var_dump($cid);

returns array(0) {}

Aunque escribo en mi navegador:

index.php?option=com_exnetpolls&deleteit=18&gotcha=yo&cid[]=2

the var_dump returns : array(1) { [0]=> string(1) "2" }

También noté que de alguna manera podría analizar el valor con jquery usando la identificación de entrada, pero me gustaría hacerlo si fuera mi última opción.

<input id="cb15" name="cid[]" value="2278" onclick="Joomla.isChecked(this.checked);" title="Πλαίσιο ελέγχου για τη σειρά 16" type="checkbox">

Intenté también pasar el cid [] de alguna manera con el botón Eliminar así:

$bar->appendButton( 'Link', 'delete', 'Διαγραφή συγκεκριμένων ψήφων', 'index.php?option=com_exnetpolls&deleteit='.$isnotempty.'&gotcha=yo&cid[] ');

Pero no funciona. ¿Podría un especialista en Joomla aclararme qué estoy haciendo mal aquí?

EDITAR: olvidé mencionar que me gustaría verificar antes de presionar el botón ELIMINAR si cid[]==NULL Para que pueda cambiar el valor de $isnotempty. cuando var_dump la $cid = JRequest::getVar('cid',array(),'','array'); en el archivo que creo la entrada, obtengo nuevamente una matriz nula.

1
IseNgaRt

Según nuestros comentarios, sugeriría que su botón Eliminar solo invoca la acción GET. Eso significa que no se procesan todos los campos de entrada. Intenta usar normal <form> con action="post" me gusta:

<form action="<?php echo JRoute::_('index.php?option=com_exnetpolls&deleteit='.$isnotempty.'&gotcha=yo'); ?>" method="post" name="adminForm" id="adminForm">
1
Dmitry Rekun