Форум CMSimple_XH

CMSimple_XH–Forum
General • Re: toc
Um, I don't quite understand. As it is now (or more precisely, how it is supposed to be now), open_submenu() should display links to all subpages (and sub-subpages etc.).
Ja, Aleksei (ustalo) dürfte sehr zufrieden sein mit deinem Code. Einfach genial.

Mein Anliegen war etwas anders gelagert. (Ich schreibe weiter in Deutsch, weil es ja eigentlich ein anderes Thema ist und ich mich vielleicht vertändlicher ausdrücken kann.)

open_submenu() zeigt alle Unter- und Unter-Seiten an.
Ich benötige hingegen immer den gesamten Menüzweig (ab L2) unterhalb einer L1-Seite, egal ob man sich auf einer L2, L3 ... Seite befindet.
Außerdem muss die aktuell geöffnete Seite im Menü mindestens markiert sein, damit ersichtlich ist wo man sich in dem Zweig befindet.
Geplant war, alle Unterseiten >L2 einzuklappen und nur den aktuellen Zweig zu öffnen. Die anderen müssen aber vorhanden sein, damit man sie per Klick öffnen (aufklappen) kann.

Das soll also ähnlich funktionieren, wie das Menü in fhs_adminmenu - nur eben mit allen Menüpunkten unterhalb einer L1-Seite. Im Idealfall sollte eben auch der aktuelle Zweig bei Aufruf geöffnet sein und die aktuelle Seite hervorgehoben.

Statistics: Posted by frase — Sat Aug 15, 2020 7:01 am


Опубликовано 15.8.2020 7:01

General • Re: toc
and if put it on second level and expand levels 3, 4?
I think that should already work. :?
Unfortunately, it still doesn't help me, because I need the whole menu below the L1 page in question.


Um, I don't quite understand. As it is now (or more precisely, how it is supposed to be now), open_submenu() should display links to all subpages (and sub-subpages etc.).

Statistics: Posted by cmb — Fri Aug 14, 2020 9:43 pm


Опубликовано 14.8.2020 21:43

General • Re: toc
and if put it on second level and expand levels 3, 4?

Statistics: Posted by ustalo — Fri Aug 14, 2020 6:37 pm


Опубликовано 14.8.2020 18:37

General • Re: toc
thx a lot
it is works

Statistics: Posted by ustalo — Fri Aug 14, 2020 6:34 pm


Опубликовано 14.8.2020 18:34

General • Re: toc
Anyhow, maybe you're looking for something like the following?
...
Wow!
That should already be largely what ustalo is looking for.
This can be done in the userfuncs.php, but also directly in the template.

Unfortunately, it still doesn't help me, because I need the whole menu below the L1 page in question.

Statistics: Posted by frase — Fri Aug 14, 2020 6:28 pm


Опубликовано 14.8.2020 18:28

General • Re: toc
Anyhow, maybe you're looking for something like the following?

CODE:

<?phpfunction get_decendants(XH\Pages $pages, $page){    $all = $children = $pages->children($page);    foreach ($children as $child) {        $grandchildren = get_decendants($pages, $child);        $all = array_merge($all, $grandchildren);    }    return $all;}function open_submenu(){    global $s;    if ($s < 0) return '';    $pages = new XH\Pages;    $descendants = array_unique(get_decendants($pages, $s), SORT_NUMERIC);    sort($descendants, SORT_NUMERIC);    return li($descendants, 'submenu');}?><nav><?=open_submenu()?></nav>
I think that's what's wanted.
I would just

CODE:

return li($descendants, 'submenu');
through

CODE:

return li($descendants, 'sitemaplevel');
replace.

Statistics: Posted by olape — Fri Aug 14, 2020 6:27 pm


Опубликовано 14.8.2020 18:27

General • Re: toc
Anyhow, maybe you're looking for something like the following?
👍🏻

... and put the code into userfuncs.php, you can also call the customized submenu in a page with

CODE:

{{{open_submenu();}}}
:)

Statistics: Posted by lck — Fri Aug 14, 2020 6:25 pm


Опубликовано 14.8.2020 18:25

Open Development • Re: PHP 8.0.0beta1 has been released
2) Die Zeitzone muss nun auch manuell in der Konfiguration eingetragen werden, ansonsten erscheint auf der Infoseite:
Prüfe, dass die Zeitzone gültig ist … Warnung
Das müsste auch bei anderen PHP-Versionen so sein; voreingestellt ist UTC, und das wird eben nicht akzeptiert.
3) Das Plugin Upload_XH von Jerry bringt die Seite auch zum Absturz, da gibt es auch einen ERROR 500.
Das könnte daran liegen, dass das Plugin die Exif-Extension benötigt, diese aber nicht aktiviert ist (also php.ini anpassen). Ansonsten konnte ich nur ein paar harmlose Deprecation-Hinweise bezüglich "Array and string offset access syntax with curly braces" feststellen. Und na ja, es hat eine Weile gedauert, bis ich die hochgeladenen Bilder gefunden habe, weil ich CMSimple_XH in einem Unterverzeichnis des Webroot betreibe, und wohl den Pfad hätte konfigurieren müssen.

Oh nein, da hatte ich PHP 7.4 am Laufen. Mit 8.0.0beta1 ist "Array and string offset access syntax with curly braces is no longer supported", und erzeugt einen fatalen Fehler. Also die Vorkommen in index.php und upload.php durch [] ersetzt, und es scheint alles okay:

CODE:

 index.php  | 6 +++--- upload.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-)diff --git a/index.php b/index.phpindex 7fcc31c..7afb3b8 100644--- a/index.php+++ b/[email protected]@ -144,12 +144,12 @@ function upload_crypt($str, $encrypt){ //1=encrypt, 0 = decrypt $k=array();  for($i=0;$i<$kl;$i++) { -$k[$i]=ord($ky{$i})&0x1F;+$k[$i]=ord($ky[$i])&0x1F; }  $j=0; for($i=0;$i<strlen($str);$i++){ -$e=ord($str{$i}); -$str{$i}=$e&0xE0?chr($e^$k[$j]):chr($e); +$e=ord($str[$i]); +$str[$i]=$e&0xE0?chr($e^$k[$j]):chr($e);  $j++; $j=$j==$kl?0:$j; } diff --git a/upload.php b/upload.phpindex cb26974..58ce41b 100644--- a/upload.php+++ b/[email protected]@ -53,12 +53,12 @@ function upload_crypt($str, $encrypt){ //1=encrypt, 0 = decrypt $k=array();  for($i=0;$i<$kl;$i++) { -$k[$i]=ord($ky{$i})&0x1F;+$k[$i]=ord($ky[$i])&0x1F; }  $j=0; for($i=0;$i<strlen($str);$i++){ -$e=ord($str{$i}); -$str{$i}=$e&0xE0?chr($e^$k[$j]):chr($e); +$e=ord($str[$i]); +$str[$i]=$e&0xE0?chr($e^$k[$j]):chr($e);  $j++; $j=$j==$kl?0:$j; } 
Tipp: bei manchen Plugins werden aus diversen Gründen nicht unbedingt alle Warnungen im XH-Debugmodus erfasst. Man kann aber in der php.ini etwa folgendes eintragen (müsste bei XAMPP schon so sein):

CODE:

error_reporting=-1log_errors=1error_log=D:\Users\cmb\wwwroot\php_errors.log
Der Pfad des error_log muss natürlich angepasst werden. In der Datei sollten sich auch solche Warnungen finden, die man eben sonst nicht sieht.

Die Mailproblematik konnte ich mir noch nicht ansehen; mache ich aber noch.

Statistics: Posted by cmb — Fri Aug 14, 2020 6:06 pm


Опубликовано 14.8.2020 18:06

General • Re: toc
Keyword MyLi.
Not really. The responsibility of li() and XH\Li are to generate the properly nested <ul> structure for a menu, and to add the desired CSS classes. The pages which are part of that structure, have to be passed in; e.g. $hc contains all visible pages.

Anyhow, maybe you're looking for something like the following?

CODE:

<?phpfunction get_decendants(XH\Pages $pages, $page){    $all = $children = $pages->children($page);    foreach ($children as $child) {        $grandchildren = get_decendants($pages, $child);        $all = array_merge($all, $grandchildren);    }    return $all;}function open_submenu(){    global $s;    if ($s < 0) return '';    $pages = new XH\Pages;    $descendants = array_unique(get_decendants($pages, $s), SORT_NUMERIC);    sort($descendants, SORT_NUMERIC);    return li($descendants, 'submenu');}?><nav><?=open_submenu()?></nav>

Statistics: Posted by cmb — Fri Aug 14, 2020 4:57 pm


Опубликовано 14.8.2020 16:57

General • Re: toc
By the way:
What ustalo is looking for, I could use right now.

One side.
A navigation at the top - only level 1 is displayed.
Below, a list of all subpages from exactly this page.
But (in my case) only the Level2 pages should be displayed. The Level3 and all other levels should be opened by a click (possibly animated).
Therefore all levels below Level2 should be available.
If you then click on a Level3 link, a page change can take place (also for Level2).
The opened page should then again show all sublevels of the corresponding Level1 page. Ideally also the corresponding opened menu.

This is quite tricky and I have failed so far.
For the time being I have to do without it.
A pity.

Statistics: Posted by frase — Fri Aug 14, 2020 4:11 pm


Опубликовано 14.8.2020 16:11