Welcome, Guest. Please login or register.
Did you miss your activation email?
May 25, 2012, 09:15:22 PM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155527 Posts in 21712 Topics by 7737 Members
Latest Member: chris85
* Home Help Search Login Register
Pages: [1] 2   Go Down
Print
Author Topic: Valides news  (Read 1640 times)
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« on: August 04, 2009, 04:08:41 PM »

Hallo,

wer unsinnigerweise eine News anlegt und nicht mit Inhalt füllt und trotzdem validem Code möchte kann dies so erreichen. Rufe News Optionen auf und bearbeite die Kopfzeile:

@Original
Code:
<table cellpadding="0" cellspacing="0" border="0" width="98%">

@hinzugefügt 2. Zeile
Code:
<table cellpadding="0" cellspacing="0" border="0" width="98%">
<tr><td></td></tr>

Jetzt isses auch bei inhaltslosen News vailde

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #1 on: August 04, 2009, 04:47:45 PM »

Oder man arbeite sich in Topics ein ...  grin

Happy Bakin'
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #2 on: August 04, 2009, 04:54:16 PM »

Es ging ja darum, das mit WBB gelieferte News Modul valide zu bekommen.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #3 on: August 04, 2009, 06:06:17 PM »

Ist schon klar.

Vielleicht sollte das dann mal innerhalb des Moduls im entsprechenden Loop gehandhabt werden?

LG,
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #4 on: August 04, 2009, 07:35:06 PM »

schon passiert, habe die add.php angepasst.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Hans>NULL

Offline Offline

Posts: 1389


« Reply #5 on: August 04, 2009, 07:40:46 PM »

Der Fehler hat aber nix mit
Quote
News ausgeklappt (weiterlesen) + ohne Kommentar = Fehler
1.) Wie oben angegeben
2.) Beanstandet wird <table cellpadding="2" cellspacing="0" border="0" width="98%"></table>
The "table" element must directly contain at least one of the following elements: "tr", "thead", "tbody", "tfoot", "col", "colgroup", "caption".
(war Fehlermeldung zu RC2 trunk1094 / Ticket #756)
zu tun, oder?

Gruß, Hans>NUL
« Last Edit: August 04, 2009, 07:43:19 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #6 on: August 04, 2009, 07:49:56 PM »

War Fehlermeldung zu 2. <table.....></table>

Probier es bitte aus.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Hans>NULL

Offline Offline

Posts: 1389


« Reply #7 on: August 04, 2009, 07:54:17 PM »

Vielleicht bin ich heute etwas zu abgelenkt (viel Arbeit)
"News ausgeklappt (weiterlesen) + ohne Kommentar = Fehler"
ist doch nicht gleichbedeutend mit "nix drin" ?

Oder hat's einfach den Effekt un jut is?
Falls ja, schmeiß ma add rüber  grin
Gruß, Hans>NUL
Logged

/dev/null Ort ohne Wiederkehr
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #8 on: August 04, 2009, 09:07:59 PM »

Schau hier

http://websitebaker.wdsnet.de/wb/pages/de/neuigkeiten.php

ohne was drin kam der Fehler und ist jetzt weg

http://websitebaker.wdsnet.de/wb/pages/de/service/testen/news.php

Haber dann in der add.php die o.g Zeile hinzugefügt, damit man es nicht jedesmal unter Optionen machen muss.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Hans>NULL

Offline Offline

Posts: 1389


« Reply #9 on: August 04, 2009, 09:44:02 PM »

Schaue ich mir morgen an.
Geht sowas in ein aktuelles Ticket ein, oder wie macht Ihr das im Team (Absprachen)?
Frage nur, weil's zwar für 'ne individuelle Lösung ok, aber beim nächsten Update wieder futsch wäre.

<edit>Deine Testseiten sind leider nicht valide, möglicherweise weil sie leerer als leer sind  grin </edit>
Gruß, Hans>NUL
« Last Edit: August 04, 2009, 11:34:38 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
aldus

Offline Offline

Posts: 1238


« Reply #10 on: August 05, 2009, 08:50:15 AM »

Hm ... die Lösung ist alles andere als Sauber; nicht
zuletzt weil nun "immer" eine leere Zeile mit herein generiert wird.
Und das es mal keine News gibt, kann auch vorkommen -> Zeit einfach abgelaufen und
Kollege ist noch im Urlaub wink
Daher ehr in der "view.php" ab Zeile 243 ff. ein "else" nach dem "if($num_posts > 0)" Block einfügen
Code:
<?php // ignore this line.
} else {
    
/**
     *    No news to display - simple add an empty row to the table.
     */
    
echo "<tr><td></td></tr>"
}

analog zu den Kommentatzeilen weiter unten ...

Edit
Hm bei der Problematik mit dem Gruppenimage
Code:
<img src="" alt="" />
sprich, das ein leeres src-attribut generiert wird, fällt mir auf die Schnelle auch nichts besseres ein,
als ein "blank"-gif zu übergeben ... dann gibt der Validator auch ein bisschen mehr Ruhe:

view.php - Zeile 220 ff. und ~318 ff.
Code:
<?php // ignore this line
if ($group_image===""$group_image=(!defined('THEME_URL') ? ADMIN_URL THEME_URL).'/images/blank.gif';
?>


Gruß
Aldus
« Last Edit: August 05, 2009, 09:56:44 AM by aldus » Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #11 on: August 05, 2009, 12:36:40 PM »

Selbstverständlich ist die Lösung nicht das optimalste, zeigt aber doch, dass mit wenig Aufwand und ohne Veränderung im Core etwas erreicht werden kann. Und wen stört die Leere Zeile? Nur den Programmierer und sonst keinen.

Dann aber lieber aber so den Core verändern, dass der Header und Footer bei leerem Post garnicht aufgerufen werden. Das ist sauber. Genauso diese Image Geschichte, kein Image dann garnicht erst ein img Tag erzeugen.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #12 on: August 05, 2009, 12:43:14 PM »

Soll ja keiner sagen ich hätte keine Lösung parat. Sauber wäre das für das erste Problem so:

Code:
   }  else {
        $setting_header = '';
        $setting_post_loop = '';
        $setting_footer = '';
        $setting_posts_per_page = '';
    }

    // Print header
    if($display_previous_next_links == 'none') {
        echo  str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array('','','','','','', $display_previous_next_links), $setting_header);
    } else {
        echo str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array($next_page_link, $next_link, $previous_page_link, $previous_link, $out_of, $of, $display_previous_next_links), $setting_header);
    }

Dann muss nämlich der Printheader versetzt werden. Schon mal dran gedacht, wenn jemand die Schleife nicht mit einer Tablle realisiert?

Dietmar
« Last Edit: August 05, 2009, 12:44:46 PM by Luisehahne » Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #13 on: August 05, 2009, 12:57:26 PM »

Nein zurück, geht so auch nicht. Jetzt habe ich Fehlermeldungen wenn ein Post vorhanden ist. Muss mal ganz in Ruhe schauen. Geht wohl nich anders als im Core einiges umzusetzen. Also bleibe ich Moment lieber bei mir bei der unsauberen Lösung. Kann aber dafür auch eine andere Schleife als mit Table produzieren.

Noch nicht mal WAI meckert das an. Nur TDs mit width Attributen

Dietmar
« Last Edit: August 05, 2009, 01:02:41 PM by Luisehahne » Logged

We are human beings - and nobody is perfect at all.
aldus

Offline Offline

Posts: 1238


« Reply #14 on: August 05, 2009, 01:26:25 PM »

Doch nicht so hecktisch ... die eigentliche Idee ist schon richtig, nur in dem "else" falsch verortet.
Also Zeile 174 ff.:
Code:
<?php
} else {
        
$display_previous_next_links 'none';
    }

    if (
$num_posts === 0) {
        
$setting_header '';
        
$setting_post_loop '';
        
$setting_footer '';
        
$setting_posts_per_page '';

    }

    
// Print header
    
if($display_previous_next_links == 'none') {
?>


So und die andere "else" huchelei raus ... funktioniert hier prächtig ...  Keine News -> dann wird auch nichts generiert;
auch kein Tabellenrumpf u.s.w.

Gruß
Aldus
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #15 on: August 05, 2009, 01:46:04 PM »

Hast du auch getestet , wenn ein Post generiert wird. Da hatte ich dann Fehlermeldungen.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
aldus

Offline Offline

Posts: 1238


« Reply #16 on: August 05, 2009, 01:50:40 PM »

Ja - zwei drei Stück, und dann das Datum zurückgedreht ...
SVN 1102, E_ALL&E_STRICT ...

Was hattest Du denn für einen Fehlertext? (Meine Magischen Kristalle sind leider alle kaputt  grin )

Gruß
Aldus
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #17 on: August 05, 2009, 01:58:02 PM »

Ich hatte nachdem ich meinen Vorschlag eingesetzt hatte 6 Validierungsfehler, die ich mir dann aber so frustig wie ich war, nicht mehr reingezogen habe. Aber da ist noch eine Sache. Lösche mal das Start-Datum. Da muss noch eine Abfrage rein, das wenigsten das aktuelle Datum gesetzt wird. Sonst bekommts du als Datum 1.1.1970

und wenn wi schon dabei sind, das ganze hardcore gedöns in den Tables raus und mit class und über frontend.css setzen.

Dietmar
« Last Edit: August 05, 2009, 01:59:39 PM by Luisehahne » Logged

We are human beings - and nobody is perfect at all.
aldus

Offline Offline

Posts: 1238


« Reply #18 on: August 05, 2009, 02:15:34 PM »

Der Mann ist zu Scherzen aufgelegt ...  grin

Ok ... das Datum bekommen wir in der "view.php" in Zeile 204/205 in den Griff:
Code:
<?php // ignore this line ...
// Workout date and time of last modified post
if ($post['published_when'] === '0'$post['published_when'] = time();

Und das "Tabellen-Geraffele"Huh? Nachher bin ich's gewesen ... hm ...

Gruß
Aldus
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #19 on: August 05, 2009, 02:20:54 PM »

Danke Aldus,

alles valide. War doch mal wieder gute Hand in Hand Arbeit. Die Lösung ist auf jedenfall besser, als das setzen einer leeren Tablezeile im Core. Macht die News flexibler für andere Lösungen einer Anzeige der Post, als mit Table

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #20 on: August 05, 2009, 02:28:26 PM »

Hi,

jetzt noch alles auf css getrimmt, und rein für die 2.8 final.

Ich habe nur noch nicht verstanden mit der img Geschichte, wie unter welchen Voraussetzungen das passiert.

Lässt sich doch bestimmt auch auf diese Art und Weise lösen. Dann hammers.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
aldus

Offline Offline

Posts: 1238


« Reply #21 on: August 05, 2009, 02:50:07 PM »

Na .. dann muss ich mal ein bisschen auf die Euphorie-Bremse steigen:

- Bei den Kommentaren haben wir auch noch das Problem mit den Tabellen;
und wenn in der "Vorlage" unter "Optionen" keine Tabelle bentzt wird - haben wir wieder HTML Salat.

- Die "GruppenBilder" müssten komplett anders angegangen werden.
In der Vorlage steht eben halt:
Code:
<td rowspan="3" style="display: [DISPLAY_IMAGE]"><img src="[GROUP_IMAGE]" alt="[GROUP_TITLE]" /></td>
Hm ... und müsste eigentlich der komplette Image-Tag //aufgelöst// werden.

- Die Tabellen-Eelemte in Klassen auflösen ... schön: welche Namenskonvention?
Ok.. post_header, post_footer, post_footer_left, post_footer_middle, post_footer_right .... und so weiter ...Huh

Gruß
Aldus
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #22 on: August 05, 2009, 03:10:00 PM »

und in Zeile 308 auch nochmal

Code:
                if ($post['published_when'] === '0') $post['published_when'] = time();

Code:
post_header, post_footer, post_footer_left, post_footer_middle, post_footer_right

genau, nur weg von dem underscore, wenn schon dann richtig. Den Part übernehme ich dann. Ich weiss jetzt kommt das Argmuent wieder, was ist mit den bestehenden? Denke aber irgendwo muss mal ein Schnitt sein und ich kann nicht immer und immer alte Dinge weiterführen. CSS 2.1 meckert es ja auch nicht an. Du findest aber keine neuen Selectoren mehr mit underscore, siehe z.B. JQeury. Alles schon auf CSS 3.0 ausgerichtet.

Wenn wir jetzt schon die Möglichkeit haben, dann sollten wir es tun, sonst überrollt uns das später und wir blicken dann garnicht mehr durch, wo noch was gerade zu rücken ist.

Ich weiss ich bin nervig. evil

Dietmar
Logged

We are human beings - and nobody is perfect at all.
aldus

Offline Offline

Posts: 1238


« Reply #23 on: August 05, 2009, 04:29:46 PM »

Ok -- ich pack hier mal die beiden Datein mit dazu...
Das Problem mit dem Image geht noch recht einfach mit
Code:
<?php // vergiss einfach diese Zeile
if ($group_image != ""$group_image"<img src='".$group_image."' alt='".$group_title."' />";

und dann in der "Vorlage" einfach //nur//
Code:
<td rowspan="3" style="display: [DISPLAY_IMAGE]">[GROUP_IMAGE]</td>

ebenso in der "add.php" ...

Bei den Kommentaren bin ich ratlos ... dazu ist der Code einfach zu //speziell// auf die //Vorlagen// als Tabelle ausgelegt.
Aber als "Kompromiss" denke ich kann man damit erst einmal leben; zumal die Tabelle mehr oder weniger sauber generiert wird.

Gruß
Aldus
« Last Edit: August 05, 2009, 06:03:58 PM by aldus » Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #24 on: August 05, 2009, 06:07:53 PM »

Gut ich mache mich dan njetzt an die Umsetzung der class ran. Habe überlegt, damit ich den JUngs nicht so viel Arbeit zu machen nur die neuen Selectoren ohne underscore anzulegen. Damit dürften dann für bereits installierte News keine Änderungen erforderlich sein.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Pages: [1] 2   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!