IV3 - Panelgroups, Fehler beim löschen
13.03.2014 - 10:42 von Jann

Jann

Avatar

Problembehebung: Panelgroups - Fehler beim Löschen Vielleicht ist es jemanden schon aufgefallen, dass man Panelgroups nicht löschen kann. Wenn man auf das [X] hinter der Panelgroup klick kommt folgende Fehlermeldung:

Fatal error: Bei dem Query: "SELECT * FROM cms_content_scripts WHERE 1" ist folgender Fehler aufgeterten: Table 'domain.cms_content_scripts' doesn't exist in /users/domain/www/files/dbcontroler.php on line 21

Daran seid ihr jedoch nicht Schuld. Den Entwicklern ist ein kleiner Fehler unterlaufen. Es wird keine Verbesserung mehr hochgeladen, da man diese Funktion nur äußerst selten benutzt und bald das neue IV 4 fertiggestellt ist. Ich erkläre hier kurz, für alle die diesen Fehler beheben möchten, wie es geht:

Zuerst geht man in die Modulverwaltung und klickt auf das [E] hinter dem Modul Panelgroups.

Nun sucht man Zeile 23 mit folgendem Code:

$scripts = $db->get_assoc( $prefix."content_scripts", 1, "tables" );

Und ersetzt diesen mit:

$scripts = $db->get_assoc( $prefix."admin_scripts", 1, "tables" );

Für faule Menschen, die sich nicht die Mühe machen wollen Zeile 23 zu suchen hier nochmal die komplette verbesserte Version:

<?php

// Einfügen und Bearbeiten if( !empty( $_POST['name'] ) && !empty( $_POST['replace'] )) if( !empty( $_GET['update'] )) $db->id_update( $prefix."content_groups", array( "name" => $_POST['name'], "replace" => $_POST['replace'] ), $_GET['update'] ); else $db->insert( $prefix."content_groups", array( "name" => $_POST['name'], "replace" => $_POST['replace'] ));

// Panelgroup Löschen if( !empty( $_GET['del'] )) { if( empty( $_POST['replace'] )) { $form = new form( MODUL_SELF."&del=".$_GET['del'] ); $replace[-1] = "Panels löschen"; foreach( $groups = $db->get( $prefix."content_groups" ) as $g ) if( $g['id'] != $_GET['del'] ) $replace[$g['id']] = $g['name'];

  cbox_auf( &quot;Panelgroup löschen&quot; );
  $form-&gt;add( &#039;replace&#039;, &#039;Neue Panelgroup&#039;, 0, &quot;select&quot;, $replace );
  $form-&gt;write( &#039;Löschen&#039; );
  cbox_zu();
} elseif( $_POST[&#039;replace&#039;] != $_GET[&#039;del&#039;] ) {
  if( $_POST[&#039;replace&#039;] == -1 ) {
    $scripts = $db-&gt;get_assoc( $prefix.&quot;admin_scripts&quot;, 1, &quot;tables&quot; );
    $panels = $db-&gt;get( $prefix.&quot;content_panels&quot;, &quot;`group` = &#039;$_GET[del]&#039;&quot; );
    foreach( $panels as $pan ) 
    foreach( explode( &quot;,&quot;, $scripts[$panel[&#039;script&#039;]] ) as $table )
      if( !empty( $table ))
        $db-&gt;del( $prefix.trim( $table ), &quot;panel = &#039;$pan[id]&#039;&quot; );
        $db-&gt;del( $prefix.&quot;content_panels&quot;, &quot;`group` = &#039;$_GET[del]&#039;&quot; );
  } else $db-&gt;update( $prefix.&quot;content_panels&quot;, array( &quot;group&quot; =&gt; $_POST[&#039;replace&#039;] ), &quot;`group` = &#039;$_GET[del]&#039;&quot; );
    $db-&gt;id_del( $prefix.&quot;content_groups&quot;, $_GET[&#039;del&#039;] );
    msgbox( &#039;Die Panelgroup wurde erfolgreich gelöscht.&#039;, &#039;Panelgroup gelöscht&#039; );
}

} else { // Formular zum bearbeiten und erstellen if( !empty( $_GET['edit'] )) { $edit = $db->id_get( $prefix."content_groups", $_GET['edit'] ); cbox_auf( "Panelgroup bearbeiten" ); $form = new form( MODUL_SELF."&update=".$edit['id'] ); define( "BACKBUTTON", MODUL_SELF ); } else { cbox_auf( "Panelgroup erstellen" ); $form = new form( MODUL_SELF ); }

$form-&gt;add( &quot;name&quot;, &quot;Name&quot;, $edit[&#039;name&#039;] );
$form-&gt;add( &quot;replace&quot;, &quot;Platzhalter&quot;, $edit[&#039;replace&#039;] );
$form-&gt;write( &quot;Speichern&quot; );
cbox_zu();

}

// Liste der Panelgroups cbox_auf( "Panelgroups" );

$captions = array( "name" => "Name", "replace" => "Platzhalter" ); $groups = $db->get( $prefix."content_groups" );

$liste = new liste( $captions );
$liste->addop( "[X]", MODUL_SELF."&del=", false, "Löschen" ); $liste->addop( "[E]", MODUL_SELF."&edit=", false, "Bearbeiten" ); $liste->write( $groups, "100%" );

cbox_zu();

?>

Beachte: Dies ist der Code der aktuellen Version des IV3 und kann möglicherweise sich vom Aussehen und Handhabung etwas von anderen IV3-Versionen unterscheiden.

13.03.2014 - 10:42

13.03.2014 - 10:42 von Jann

Township

Avatar

Wieso nimmst du eig die V3 und nicht V4?

19.03.2014 - 14:30

19.03.2014 - 14:30 von Township

Township

Avatar

Es wird keine Verbesserung mehr hochgeladen, da man diese Funktion nur äußerst selten benutzt und bald das neue IV 4 fertiggestellt ist.

Du Verwechselst da etwas!

Momentan wird IV5 programmiert nicht IV4 die gibt es schon lange.

19.03.2014 - 14:32

19.03.2014 - 14:32 von Township

Jann

Avatar

Ich weiß das iv3 schon wehsentlich alt ist, nutze es aber muss ich sagen, lieber als das 4er, da es nicht viele Bugs ausweißen kann und sehr quelloffen ist. Ich habe diese Tuts aus dem alten Forum mitgebracht und finde es gut wenn sie auch hier wieder stehen

20.03.2014 - 08:40

20.03.2014 - 08:40 von Jann

Jann

Avatar

Zum anderen muss ich auch keine verbesserungen haben, schreibe sie einfach selbst, da ich den code sehr gut kenne

20.03.2014 - 08:45

20.03.2014 - 08:45 von Jann

User Online

Es sind keine User online