ilch Forum » Allgemein » HTML, PHP, SQL,... » Beiträge Limit auf Seiten verteilen

Geschlossen
  1. #1
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ich möchte meine Blog-Beiträge auf mehrere Seiten verteilen.

    Mit der typischen MPL-Methode also der Funktion "db_make_sites" möchte ich es versuchen, komme aber nicht weiter.

    Mein Blog wird später unter cristiang.de/blog.html erreichbar sein.

    Nun wenn ich folgender Code verwende:
    	$limit = 5; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "blog" , 'blog');
        $anfang = ($page - 1) * $limit;


    Dann gibt er mir folgende URL aus: cristiang.de/blog.html?blog-p2

    Wo kann/muss ich da etwas ändern damit es so "blog-p2.html" ausgegeben wird?


    Für die "URL-Manipulation" habe ich folgendes genutzt.


    verwendete ilch Version: 1.1 P

    betroffene Homepage: www.cristiang.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Versuch mal
    $MPL = db_make_sites ($page , '' , $limit , "?blog" , 'blog');
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ja gibt das gleiche ergebnis: blog.html?blog

    Habe nur das ? oben in meinem Code vergessen.

    Für die Seitenanzahl werden folgende Links generiert: blog.html?blog-p2

    Ich brauche das Ganze aber so: blog-p2.html


    Wie z.B. auch hier auf ilch bei den News.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja also wenn du ?blog verwendest, solltest Links mit href="?blog-p2" erzeugt werden, die dann von dem Code in dem von dir verlinkten Beitrag umgewandelt werden.

    Dieser
    $c = preg_replace ('%href=\"\?([^\"]+)\"%Uis',"href=\"index.php?\\1\"",$c);
    $c = preg_replace ('%href=\"index.php\?([-0-9A-Z]+)#([a-zA-Z0-9]+)\">%Uis',"href=\"\\1.html#\\2\">",$c);


    um genau zu sein, ohne das ? hätte der Fehler Sinn gemacht, mit eigentlich nicht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also so sieht mein Code aus:
    // ALL ENTRIES
    	$title = 'Neuigkeiten und Tipps rund um Webdesign, Selbstständigkeit und Online Marketing.';
    	$hmenu = 'Blog';
    	$design = new design ( $title , $hmenu );
    	$design->header();
    	$tpl = new tpl ( 'blog' );
    	
    	
    	
    		$limit = 1; // Limit
    	    $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    	    $MPL = db_make_sites ($page , '' , $limit , "?blog" , 'blog');
    	    $anfang = ($page - 1) * $limit;
    	
    	
    	$tpl->out(0);
    		
        $erg = db_query('SELECT * FROM `prefix_blog` WHERE '. $currentTime .' > publish AND cat > 0 ORDER BY publish DESC LIMIT ' . $anfang . ',' . $limit);
        while ($row = db_fetch_object($erg)) {
    		$tpl->set_ar_out(array (
    			'url' => getURL($row->id,$row->title),
    			'image' => $row->image,
    			'title' => $row->title,
    			'content' => shortContent($row->content)
    		) , 1);
    		
        }	
    	echo $MPL;
    	
    	
    	$design->footer();


    Mit ? entsteht folgende URL: cristiang.de/blog.html?blog-p2
    Ohne ? entsteht folgende URL: cristiang.de/blog-p2
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja es müsste gehen, das ist alles, was ich dir dazu sagen kann.
    Dann scheint der Code, aus dem verlinkten Thema nicht zur Anwendung zu kommen (hast du auch das ob_start() in der index.php?).

    Du kannst natürlich auch die db_make_sites Funktion anpassen zu und dort bei der Linkerzeugung immer .html anfügen, dann aber nur 'blog' statt '?blog' verwenden. (Falls das mit dem Adminbereich kollidiert ggf. eine db_make_sites_html) Funtion erstellen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ups sry... mein Fehler sorry für den ganzen Stress. zunge

    Dachte habe das aus dem verlinkten Thema komplett übernommen, stattdessen habe ich nur die Änderung in der htaccess übernommen. grumml

    Trotzdem Danke. Yes


    Zuletzt modifiziert von Ahrtas am 28.05.2016 - 12:36:36
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten