[solved] Artikel-Paginierung Bootstrap

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

[solved] Artikel-Paginierung Bootstrap

Post by santscho »

Möchte gerne eine Standard-Bootstrap-Paginierung verwenden, komme aber nicht weiter. Kann zwar eine Bootstrap-Paginierung in der conf.template_default.inc.php ($template_default['article_paginate_navi']) aufbauen, aber kann sie nur bis zum link heran modifizieren. Kann den Links aber keine Bootstrap-spezifischen Klassen zuweisen.

Wo liegt die Core-PHP der Paginierung? Vielleicht kann ich da was schrauben, um diese Bootstrap-Paginierung zu rendern:

Code: Select all

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <span class="page-link">Previous</span>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active">
      <span class="page-link">
        2
[list][/list]      </span>
    </li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">Next</a>
    </li>
  </ul>
</nav>
Ich wäre auch schon glücklich, wenn ich die Klasse "page-link" dem Link zuweisen könnte. Momentan habe ich die Klasse auf die <li> gelegt. Der Button funktioniert dann nur bedingt. Und noch active. disabled nicht unbedingt notwendig. Hier noch meins...

Code: Select all

$template_default['article_paginate_navi']  = '<nav caria-label="Article Navigation-{POS}"><ul class="pagination"><li class="page-item page-link">{PREV:<i class="fa fa-arrow-left"></i>}</li> {NAVI:1-3, </li><li class="page-item page-link">|<li class="page-item page-link">|</li>}<li class="page-item page-link">{NEXT:<i class="fa fa-arrow-right"></i>}</li></ul></nav>'; //
Last edited by santscho on Wed 6. May 2020, 00:02, edited 1 time in total.
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Artikel-Paginierung Bootstrap

Post by Oliver Georgi »

Ich würde da nicht im Core werkeln, oder mache und dann aber PR auf GitHub ;-). Du solltest mehr mit SCSS > CSS arbeiten und dem Projekt individuelle Ausnahmen gönnen. Dann nimmt man die Vorgaben aus Bootstrap und passt die auf den eigenen DOM an. Es gibt einige Sachen, die stammen halt aus der Ära weit vor Bootstrap & Co.

Ansonsten kannst Du auch jederzeit die 2 bis 3 Klassen in separater CSS mitführen. Nimm den kleinsten Bootstrap-Teil, den Du benötigst und baue den entsprechend um.

Ich würde das ganze Templating heute sicher nicht mehr so aufbauen, sondern auf gängige Templating-Engine setzen. Aber das ist ein wirklich großer Umbau.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: Artikel-Paginierung Bootstrap

Post by santscho »

Möchte halt soviel bestehendes wie möglich von Bootstrap übernehmen. Aber Du hast schon recht. Zum Glück habe ich Bootstrap Studio. Der kompiliert SCSS. Denn davon habe ich Null Ahnung.
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Artikel-Paginierung Bootstrap

Post by Uwe367 »

Ich mache das immer noch auf die alte Weise die Knut mal hier beschrieben hat:
viewtopic.php?f=16&t=18209&p=112062&hil ... en#p112062
Ich habe mir das so umgebaut daß es responsive ist. Ist vielleicht nicht unbedingt up to date, aber es funktioniert.

Mit der Bootstrap Pagination hatte ich die gleichen Probleme wie du. Soweit ich mich erinnere kannst du dem TAG <a> keine Klasse mit geben. Aber vielleicht baut Oliver da noch was ein, z.B in der conf_template.default_inc.php ähnlich den Klassen von NAV_LIST_UL die man so umbauen kann wie man sie braucht.
Bin aber selbst schon am schauen in welcher Datei ich die Artikelpaginierung finde.
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Artikel-Paginierung Bootstrap

Post by Uwe367 »

Ich habe gefunden wo die Navi für die Artikelpaginierung aufgebaut ist.
Verzeichnis include/inc_front/front.func.inc.php.
Ab Zeile 961 wird die Navi aufgebaut.

Ein theoretischer Lösungsansatz wäre, das mittels conf.template_default.inc.php zu lösen.
In diese z.B. ein Eintrag

Code: Select all

'paginate_a'      => 'paginate_a',
wobei diese Klasse dann durch eine beliebige ersetzt werden kann, z.B.

Code: Select all

'paginate_a'      => 'my_pagination_class',
Man könnte das ganze dann entweder im Core umbauen oder als Frontend Renderscript laufen lassen.

Beispielhafte Änderung im Core bei Zeile 1020 und 1036:

Code: Select all

if($template_default['paginate_a'])
'<a class="'  (my_pagination_class)' .  href="' . rel_url( array('listpage'=>$i) ) . '">'.$i.'</a>'
else
'<a href="' . rel_url( array('listpage'=>$i) ) . '">'.$i.'</a>'
Ok, DAS WIRD SO NICHT FUNKTIONIEREN da zuerst noch die eingetragene CSS Klasse ausgelesen und übergeben werden muß. Zudem dürfte meine Schreibweise jeden PHP Programmierer schier um den Verstand bringen :lol:

Aber es ist vielleicht ein theoretischer Lösungsansatz um dem <a> TAG eine Klasse mitzugeben.
Last edited by Uwe367 on Sun 3. May 2020, 08:47, edited 1 time in total.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Artikel-Paginierung Bootstrap

Post by Oliver Georgi »

ich schaue mal
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Artikel-Paginierung Bootstrap

Post by Uwe367 »

Oliver Georgi wrote: Sat 2. May 2020, 17:47 ich schaue mal
Danke Oliver :D
Wie gesagt.. ist nur ein theoretischer Ansatz. Ob das praktisch umsetzbar ist oder auf diese Weise Sinn macht.. keine Ahnung.
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: Artikel-Paginierung Bootstrap

Post by santscho »

Genau, es ist die fehlende Möglichkeit, dem Link ne Klasse zu geben ist aber nicht so schlimm. Habe eine Navi mit Bootstrap-Bordmitteln hinbekommen, die auch nicht schlecht aussieht.

Code: Select all

'<ul class="pagination shadow-sm p-2 text-muted"><li class="pagli navarrow ml-2 mr-2">{PREV:<i class="fa fa-chevron-left"></i>}</li>{NAVI:1-3,</li><li class="ml-2 mr-2">|<li class="ml-2 mr-2">|</li>}<li class="navarrow mr-2 ml-2">{NEXT:<i class="fa fa-chevron-right"></i>}</li></ul>';
Die FE-Renderscripte sind schon eine geniale Sache. Ich lasse mir so CSS-Klassen generieren, die in meinen CP-Templates zum Einsatz kommen. So steht zum Beispiel <div class="{BOX1}"> in den Templates
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Artikel-Paginierung Bootstrap

Post by Oliver Georgi »

santscho wrote: Sat 2. May 2020, 22:04 <div class="{BOX1}">
Schau Dir mal die Möglichkeit an, jedem CP eine eigene Klasse mitzugeben. Meist sollte das genügen, um inhaltsspezifisch über CSS das Aussehen zu definieren.
Bildschirmfoto 2020-05-03 um 07.54.37.png
Bildschirmfoto 2020-05-03 um 07.54.37.png (28.36 KiB) Viewed 3132 times
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Artikel-Paginierung Bootstrap

Post by Oliver Georgi »

Ihr könnt ja mal prüfen, ob das weiter hilft
https://github.com/slackero/phpwcms/com ... 881f8d40f5
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Artikel-Paginierung Bootstrap

Post by Uwe367 »

Oliver Georgi wrote: Sun 3. May 2020, 10:20 Ihr könnt ja mal prüfen, ob das weiter hilft
https://github.com/slackero/phpwcms/com ... 881f8d40f5
Ja Donnerwetter Oliver....
Daß du das auf Sonntag umsetzt.... Hut ab, VIELEN DANK und meine Hochachtung dafür. :D
Ich habe das mit dem Standarttemplate der Neuinstallation getestet und nun kann ich jedem <a> der Pagination eine Klasse mit geben und die kann ich selbst noch in der conf.template_default.inc.php festlegen.
Und nicht nur das kann ich nun machen, sondern ich kann den Links active und disabled nun auch noch Klassen mit geben um diese eventuell farblich voneinander zu unterscheiden oder oder oder.......
Flexibeler gehts nun wirklich nicht mehr.

Quellcode vorher ohne diese Möglichkeit:

Code: Select all

<div class="paginate paginate-top">&laquo; <a href="?listpage=2">&raquo;</a> page 1/2, result 1-3, <span>1&ndash;3 <a href="?listpage=2">4&ndash;4</a></span></div>

Mit der neuen Änderung in der conf.template_default.inc.php zum testen....

Code: Select all

    'cp-paginate-link'              => 'my-class-1',
    'cp-paginate-link-active'       => 'paginate-link active',
    'cp-paginate-link-disabled'     => 'paginate-link disabled',
    'search-paginate-link'          => 'my-class-2',
Ergibt jetzt mit der Änderung folgendes Ergebnis:

Code: Select all

<div class="paginate paginate-top"><a class="paginate-link disabled">&laquo;</a> <a href="?listpage=2" class="my-class-1">&raquo;</a> page 1/2, result 1-3, <span><a href="?listpage=1" class="paginate-link active">1</a> <a href="?listpage=2" class="my-class-2">2</a></span></div>
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Artikel-Paginierung Bootstrap

Post by Oliver Georgi »

Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Artikel-Paginierung Bootstrap

Post by Uwe367 »

Oliver Georgi wrote: Sun 3. May 2020, 18:02 Das hier nicht vergessen https://github.com/slackero/phpwcms/blo ... c.php#L422
Kann ich jetzt adhoc nichts mit anfangen. Hast du mal ein Beispiel wie ein Eintrag dort aussehen muß bzw. was dort rein soll?
Wenn ich weiß was da rein soll wird sich schnell zeigen was ein Eintrag dort bewirkt :wink:
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: Artikel-Paginierung Bootstrap

Post by santscho »

Oliver Georgi wrote: Sun 3. May 2020, 10:20 Ihr könnt ja mal prüfen, ob das weiter hilft
https://github.com/slackero/phpwcms/com ... 881f8d40f5
:D Danke Oliver! Held des Tages! Wirklich sehr geschätzt!
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
User avatar
santscho
Posts: 1442
Joined: Mon 2. Apr 2007, 08:56
Location: Schweiz

Re: Artikel-Paginierung Bootstrap

Post by santscho »

Oliver Georgi wrote: Sun 3. May 2020, 07:55 Schau Dir mal die Möglichkeit an, jedem CP eine eigene Klasse mitzugeben. Meist sollte das genügen, um inhaltsspezifisch über CSS das Aussehen zu definieren.
Diese Methode ist mir bekannt. Aber mit meinem Replacement tag kann ich mehrere Bootstrap-Klassen einem DIV zuteilen.

Code: Select all

if(strpos($content['all'], '{BOX1}')){
  $_box1 = 'box1 border border-light shadow-sm rounded p-3 mb-5 bg-light';
  $content['all'] = str_replace('{BOX1}', $_box1, $content['all']);
}
wenn ich die Klassen in jedem CP eintragen würde, müsste ich später bei einer Änderungen alle CP's anpassen. Mit der RT-Methode nur das FE-Renderscript.
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
Post Reply