Logoff beim löschen von Datensätzen

Fragen zum Entwickeln eigener Addons?

Moderator: Sisko1990

Forum rules
Forumregeln
daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Logoff beim löschen von Datensätzen

Postby daywalker73 » Mon Sep 27, 2010 8:37 am

hab hier ne kleine komponente gebastelt. die grundkonstruktion hab ich aus dem galileo computing "pairranks" verwendet. bin nicht so wirklich fit in joomla. jetzt hab ich jedoch das problem, dass ich innerhalb der komponente im backend, beim versuch einen oder mehrere datensätze zu löschen, aus dem backend geworfen werde. gelöscht wird jedoch nix. joomla wirft mich einfach nur raus, als ich ich mich ausgelogged.

hier mal die controller.php (sehr einfach gehalten):

Code: Select all

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.application.component.controller');

class LiquormanagersController extends JController {
   function display() {
        parent::display();
   }
   function __construct() {
      parent::__construct();
      $this->registerTask( 'add', 'edit' );
   }

   function edit() {
      JRequest::setVar( 'view', 'liquormanager' );
      JRequest::setVar( 'layout', 'form'  );
      JRequest::setVar( 'hidemainmenu', 1 );
      parent::display();
   }

   function save() {
      $model = $this->getModel('liquormanager');
      if ($model->store()) {
        $msg = 'Speichern war erfolgreich';
      } else {
        $msg = 'Fehler beim Speichern';
      }
      $this->setRedirect( 'index.php?option=com_liquormanager',
                          $msg);
   }
   function remove() {
      $model = $this->getModel('liquormanager');
      if($model->delete()) {
         $msg = 'Löschen war erfolgreich';
      } else {
         $msg = 'Fehler beim Löschen';
      }


      $this->setRedirect( 'index.php?option=com_liquormanager',
                          $msg );
   }

   function cancel() {
      $msg = 'Aktion abgebrochen';
      $this->setRedirect( 'index.php?option=com_liquormanager',
                          $msg );
   }
}


?>


ich fin den fehle reinfach nicht. dickes dankeschön schonmal im voraus.

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Logoff beim löschen von Datensätzen

Postby RedEye » Tue Sep 28, 2010 1:20 pm

poste mal das model liquormanager

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Tue Sep 28, 2010 1:41 pm

jo ...

Code: Select all

<?php
defined('_JEXEC') or die('Restriced Access');
jimport('joomla.application.component.model');
class LiquormanagersModelLiquormanager extends JModel {
   function __construct() {
      parent::__construct();
      $array = JRequest::getVar('cid',  0, '', 'array');
      $this->setId($array[0]);
   }
   function setId($id) {
      $this->_id = $id;
      $this->_data = null;
   }
function getData() {
   if (empty( $this->_data )) {
      $query = ' SELECT * FROM #__liquormanager '.
               '  WHERE id = '.$this->_id;
      $this->_db->setQuery( $query );
      $this->_data = $this->_db->loadObject();
   }
   if (!$this->_data) {
      $this->_data = new stdClass();
      $this->_data->id = 0;
         $this->_data->getraenk = null;
      $this->_data->inhalt = null;
      $this->_data->kategorie = null;
         $this->_data->preis = null;
         $this->_data->foto = null;
         $this->_data->sortierung = null;
         $this->_data->published = null;
   }
   return $this->_data;
}
function store() {
   $row =& $this->getTable();
   $data = JRequest::get( 'post' );
   if (!$row->bind($data)) {
      $this->setError($this->_db->getErrorMsg());
      return false;
   }
   if (!$row->check()) {
      $this->setError($this->_db->getErrorMsg());
      return false;
   }
   if (!$row->store()) {
      $this->setError( $row->getErrorMsg() );
      return false;
   }
   return true;
}
   function delete() {
      $cids = JRequest::getVar( 'cid', array(0),
                                'post', 'array' );
      $row =& $this->getTable();
      if (count( $cids )) {
         foreach($cids as $cid) {
            if (!$row->delete( $cid )) {
               $this->setError( $row->getErrorMsg() );
               return false;
            }
         }
      }
      return true;
   }

}
?>

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Logoff beim löschen von Datensätzen

Postby RedEye » Tue Sep 28, 2010 10:53 pm

Hmm so auf den ersten Blick sieht die delete function ok aus, da kann ich wie Du nix sehen.
Stimmt denn der task der dem delete Button im backend zugewiesen ist und wird der controller geladen?

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Wed Sep 29, 2010 6:17 am

Ich muss an dieser Stelle zugeben ... Ich bin recht frisch mit Joomla zugange. Manche Codeschnipsel kopiere ich mir einfach und weiss auch nicht zu hundert prozent welcher befehl genau was macht oder wo zugreift.

meine view für liquormanager sieht so aus:

Code: Select all

<?php
defined('_JEXEC') or die( 'Restricted Access' );
jimport( 'joomla.application.component.view' );

class LiquormanagersViewLiquormanagers extends JView {
   function display($tpl = null) {

      JToolBarHelper::title( 'Liquormanager',
                             'generic.png' );
      JToolBarHelper::deleteList();
      JToolBarHelper::editListX();
      JToolBarHelper::addNewX();
      $items =& $this->get( 'Data');
      $this->assignRef( 'items', $items );
      parent::display($tpl);
   }
}
?>

meiner meinung nach völlig unspektakulär.
Wo sehe ich, ob der Task stimmt und wie erfahre ich ob der controller geladen wurde?
Ich kann speichern, neu anlegen, aendern... eigentlich alles ... nur nicht löschen. irgendwo hab ich nen denkfehler.

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Thu Sep 30, 2010 10:55 am

so ... jetzt mal ganz blöd nochwas versucht.
vom gallileo openbook (da hab ich mir ja die anregungen geholt) mal die komponente pairrank komplett kopiert (quellcode), installiert und versucht nen datensatz zu löschen. passiert dasselbe. jetzt frag ich mich .... hat das noch keiner nachgeschrieben udn getestet? oder stimmt eher was an meinem system nicht ?

SEO = NÖ
mod_rewrite benutzer = NÖ
Dateiendungen anfügen = NÖ

Aaaaber PHP4, Version 4.4.0

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Thu Mar 10, 2011 1:36 pm

Problem besteht weiterhin. Beim Löschen von Datensätzen, löscht Joomla diese mittlerweile zwar, dennoch wird der Benutzer rausgeworfen. Als würde die Session sterben. Erneutes Login zeigt aber den Benutzer als angemeldet an.

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Logoff beim löschen von Datensätzen

Postby RedEye » Thu Mar 10, 2011 2:07 pm

Versuch doch mal ob Du local auch diese Probs hast, sprich lade Dir xampp oder eine andere lamp Umgebung auf Deinen Rechner und teste es mal.
Aaaaber PHP4, Version 4.4.0
Nimms mir nicht böse aber das ist doch ein Scherz... mal abgesehen davon das die Version unsicher ist, es noch nicht mal die letzte php4 version ist welche 4.4.8 ist,
wird php4 nun seit etwas über 3 Jahren nicht mehr supported von den Entwicklern...
Sag Deinem Hoster er soll Dir php5 drauf machen, oder such Dir gleich nen neuen...

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Thu Mar 10, 2011 2:21 pm

RedEye wrote:Versuch doch mal ob Du local auch diese Probs hast, sprich lade Dir xampp oder eine andere lamp Umgebung auf Deinen Rechner und teste es mal.
Aaaaber PHP4, Version 4.4.0
Nimms mir nicht böse aber das ist doch ein Scherz... mal abgesehen davon das die Version unsicher ist, es noch nicht mal die letzte php4 version ist welche 4.4.8 ist,
wird php4 nun seit etwas über 3 Jahren nicht mehr supported von den Entwicklern...
Sag Deinem Hoster er soll Dir php5 drauf machen, oder such Dir gleich nen neuen...


Mittlerweile hatte ich auf 5 hochgezogen ... dachte erst das liegt an der 4er. aber wars nicht. die info mit der php version ist schon ne weile her. Tests auf mittlerweile 6 verschiedenen Rechnern und konfigurationen brachten dasselbe ergebnis. Mit J2go hab ich es ebenfalls schon ausprobiert.

Wie schon angemerkt... Die Komponente Pairrank, von Galileo Computing (Open Book) hab ich 1:1 kopiert und habe dort dasselbe problem. die komponente ist also schon buggy. ich find den verdammten fehler einfach nicht.

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Thu Mar 10, 2011 2:29 pm

Ich hab mal ne reine backend komponente, bei der dasselbe problem auftaucht, hochgeladen. keine frontend ausgabe. super einfach gehalten.

also lediglich n form um nen datensatz zufügen zu können und ne listenansicht. selbst hier ist das problem präsent.
You do not have the required permissions to view the files attached to this post.

RedEye
Joomla! Ace
Joomla! Ace
Posts: 1460
Joined: Sat Jan 21, 2006 8:42 pm

Re: Logoff beim löschen von Datensätzen

Postby RedEye » Thu Mar 10, 2011 2:32 pm

Dann nimm mal die hello_world Componente von der Joomla Doku und schau ob Du das Prob auch mit dieser hast
http://docs.joomla.org/Developing_a_Mod ... t_-_Part_1

edit: Wenn Du mit der das gleiche Prob hast, mach einen letzten Test und lege mal 2-3 Weblinks an und schau ob dort das Prob beim löschen auftaucht, wenn ja brauchste den Fehler nicht bei der Componente suchen, wenns geht such den Unterschied zu Deiner Componente und com_weblinks

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Thu Mar 10, 2011 3:00 pm

wie zu erwarten war, funktionierts

daywalker73
Joomla! Apprentice
Joomla! Apprentice
Posts: 10
Joined: Mon Sep 27, 2010 8:31 am

Re: Logoff beim löschen von Datensätzen

Postby daywalker73 » Mon Mar 14, 2011 7:49 am

Code: Select all

   
function delete() {
      $cids = JRequest::getVar( 'cid', array(0), 'post', 'array' );
      $row =& $this->getTable();
           foreach($cids as $cid) {
            if (!$row->delete( $cid )) {
               $this->setError( $row->getErrorMsg() );
               return false;
            }
         }
        return true;
   }


So hats dann funktioniert. Irgendwas war mit der Variable $count. Werd mich abe rnochmal dahinterklemmen. Bekomme jetzt nur nicht angeziegt, wieviele Datensätze gelöscht wurden. Aber das ist mir erstmal wumpe.

Vielen Dank an alle Beteiligten.
Problem ist erstmal solved. Denk mir grad neue aus. :-)


Return to “Entwicklerforum”

Who is online

Users browsing this forum: No registered users and 1 guest