WebsiteBaker Support (2.12.x) > General Help & Support

Alle Seiten werden gleichzeitig ausgegeben - nach Update auf 2.12

<< < (3/4) > >>

alexander@giebken.net:
Ich bin nah dran...

2 Problme gefunden

framework/frontend.functiosn.php (ca. zeile 185)

1. Das SELECT zum Aufrufen alle Sectionen der Seite liefert viel zu viele Ergebnisse.
Ich hab das hier gebastelt, dass scheint zu funktionieren. Wäre lieb, wenn das mal einer durchtesten könnte;
                       
                        // First get all sections for this page , `publ_start`, `publ_end`
         $sqlSet = "SELECT ";
         $sqlSet .= "`section_id`, `module` ";
         $sqlSet .= "FROM `" . TABLE_PREFIX . "sections` ";
         $sqlSet .= "WHERE `page_id`=" . $page_id . " ";
         $sqlSet .= "AND `block`=" . $block . " ";
         // $sqlSet .= "AND(" . $iNow . " BETWEEN `publ_start` AND `publ_end`) ";
         // $sqlSet .= "OR (" . $iNow . " > `publ_start` AND `publ_end`=0) ";
         $sqlSet .= "AND(" . $iNow . " > `publ_start` ";
         $sqlSet .= "AND " . $iNow . " < `publ_end`) ";
         $sqlSet .= "OR(`publ_start` != 0 AND " . $iNow . " > `publ_start` AND `publ_end` = 0 )";
         $sqlSet .= "ORDER BY `position`; ";

2. Im Anschluss wird diese Prüfung durchgeführt:

                   if ( \is_numeric( $wb -> default_block_conte nt ) ) {

wobei ich überprüft habe, dass der Ausdruck "$wb -> default_block_conte nt )" true ist. Ist er.
Aber

                            var_dump( \is_numeric( $wb -> default_block_conte nt ) );"

 liefert "false" zurück und der inhalt von if{} wird nicht durchlaufen.

und nu?
*achselnzucken*


alexander@giebken.net:
So, also "default_block_conte nt" wird mit dem Wert "true" initialisiert. Weshalb er natürlich nicht numerisch sondern boolisch ist.
Also:

                    if ( $wb -> default_block_conte nt ) {

 -schwups- läuft.
Ich suche dann mal weiter nach dem pub_end Bug....

alexander@giebken.net:
Bug: publ_end

/admin/pages/section_save.php Zeile 146

 if (\trim($_POST['end_date'.$section_id]) == '0' || \trim($_POST['end_date'.$section_id]) == '') {
                        $publ_end = 2147483647;
                    }

2147483647 ist der Timestamp vom 1.1.1970. Dieser Wert wird an mehreren Stellen im Code hart gesetzt. Ich verstehe nicht ganz, warum??

alexander@giebken.net:
Nachtrag: das SQL von mir war doof.
Dieses ist besser:

                        $sqlSet = "SELECT ";
         $sqlSet .= "`section_id`, `module` ";
         $sqlSet .= "FROM `" . TABLE_PREFIX . "sections` ";
         $sqlSet .= "WHERE `page_id`=" . $page_id . " ";
         $sqlSet .= "AND `block`=" . $block . " ";
         $sqlSet .= "AND(`publ_start` = 0 OR " . $iNow . "> `publ_start`) ";
         $sqlSet .= "AND (`publ_end` = 0 OR " . $iNow . " < `publ_end`) ";
         $sqlSet .= "ORDER BY `position`; ";
         

evaki:
Hab soeben mal gescannt.
Habe den Eindruck bekommen, daß es für jacobi22 nützlich sein könnte, das Template durchzuschauen.
MfG. Evaki

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version