Kirby Learnings: Part 3

Useragent mit im Like-Hash $visitor = md5('v-' . kirby()->visitor()->ip() . kirby()->visitor()->userAgent() ); Hat den Vorteil, dass mehrere Personen aus einem Hashalt (mit der gleichen IP-Nummer) den gleichen Artikel liken können. Ich hab dazu einen Fork des Originalplugins von Medienb cker erstellt und ihn gefragt ob das so passt für ihn. Er hat angeboten, dass wir die Idee mit in den Masterbranch übernehmen, wow, find ich geil. Würde das aber wenn, optional einbinden wollen, also so dass der Entwickler in der Config entscheiden kann ob er den Useragent mit in den Hash einbezieht. Das klappt hier bei mir schon soweit. Ins Repository hole ich das später noch. In dem Zusammenhang dann Folgendes gelernt: Werte aus der Config nutzen Config: 'assbach.likes' => [ 'useragent' => true, #put useragent/browser in hash ], Plugin: if( option('assbach.likes.useragent', false) === true ) { ... } edit: Maurices Tipp aus den Kommentaren hier übernommen, Danke. Stats im Panel Ich wollte gern die Summe aller Likes im Panel angezeigt bekommen und hab mir lange einen abgebrochen. Am Ende hab ich es über ne Collection gelöst, die direkt den Wert übergibt. Collection "all-likes-count": return function ($site) { return count($site->find('blog')->children()->listed()->pluck('likes',";")); }; Blueprint: sections: stats: type: stats size: huge reports: - label: Likes value: "{{ kirby.collection('all-likes-count') }}" theme: positive - label: Bilder value: "{{ site.index.images.count }}" - label: Artikel value: "{{ site.find('blog').children.count }}" link: https://assbach.de/panel/pages/blog - label: Songs value: "{{ site.index.audio.count }}" link: https://assbach.de/assbach-singt In einem Template sähe das so aus: <?= $kirby->collection("all-likes-count"); ?> Einige Sachen aus dieser Anleitung hab ich im Panel nicht ans Laufen bekommen, siehe weiter unten. Speichern und Aktualisieren von Felder in einer Page $page = $page->update( [ 'likes' => $page->likes()->value() . $visitor . ';', 'pageLikeCount' => $pageLikeCount ]); Siehe auch Docs. Page Models in den Docs. Wollte ich eigentlich für die Likes im Panel nutzen, wie oben erwähnt, hat aber nicht funktioniert. In Page-Templates allerdings schon, hier ein paar Beispiele: site/models/blogindex.php <?php class BlogindexPage extends Page { public function modelval() { return "this comes from a model"; } } ?> site/templates/blogindex.php from model: <?= $page->modelval(); mit Übergabe eines einfache Arrays class BlogindexPage extends Page { public function modelValues(): array { return [ 'label' => 'Revenue', 'value' => 326 ]; } } im template dump( $page->modelValues() ); from model: <?= $page->modelValues()['label']; ?> mit Übergabe eines mehrdimensionalen Arrays: class BlogindexPage extends Page { public function modelValues(): array { return [ [ 'label' => 'Revenue', 'value' => 456 ], [ 'label' => 'Orders', 'value' => 123 ], ]; } } from model: <?= $page->modelValues()[0]['value']; ?> Loop: foreach($page->modelValues() as $mv) { echo $mv["label"].": ". $mv["value"]."<br>"; } — Sascha

zum Artikel gehen

Kirby Learnings: Part 2

Nach der Umstellung auf Kirby, hab ich noch einiges gelernt und möchte das festhalten. Spaltenbreiten im Panel Ich hab ewig versucht zwei Toggles in einer Spalte mit 1/3-Breite nebeneinander zu setzen, weil eigentlich genug Platz wäre. Das geht aber offe

zum Artikel gehen

Social Impact Learnings: A Students Perspective on the MBA Impact Expedition

Immerse yourself in Hao's transformative journey, where he delved into the realm of social impact, unearthing profound insights that have ignited an enduring passion for driving positive change in his future career. The post Social Impact Learnings: A Stu

zum Artikel gehen

Win-Win Formula: 10 Steps to Prepare Your Part-Time Studies Pitch

Are you looking to lift your career to next level with a part-time program at HHL but you don't know how to start the conversation with your boss? We keep you covered: Let the following 10 questions guide you through your preparation process to convince y

zum Artikel gehen

2021-02: Transfer Learning: Regulatorische Fallen bei Medizinprodukten vermeiden

Je größer und leistungsfähiger insbesondere komplexe Deep Neural Networks werden, desto wichtiger wird es, von den Vorteilen des Transfer Learnings zu profitieren, um die Leistungsfähigkeit auch nutzen und redundante Trainingsaufwände vermeiden zu können.

zum Artikel gehen

Gercht: Remaster von The Last of Us: Part 2 fr PS5 in Arbeit!

Neue Hinweise deuten darauf hin, dass uns bald ein Remaster des PS4-Megahits The Last of Us: Part 2 fr die PS5 erwartet. Was dran ist, erfahrt ihr hier!

zum Artikel gehen