Generated by All in One SEO v5.0.0.1, this is an llms.txt file, used by LLMs to index the site. # rent-a-hero fresh ideas for your web life! ## Sitemaps - [XML Sitemap](https://www.rent-a-hero.de/sitemap.xml): Contains all public & indexable URLs for this website. ## Beiträge - [Blog](https://www.rent-a-hero.de/blog/) - [Radio Adfree App im Apple App Store](https://www.rent-a-hero.de/2026/03/26/radio-adfree-app-im-apple-app-store/) - Meine Radio Adfree App ist seit gestern im Apple App Store 🎉 Für Android werden noch Tester gesucht 🙏🏻 Infos dazu unter https://www.radio-adfree.de Jeder Android-Tester in den nächsten zwei Wochen erhält die Pro Version kostenlos 😊 Vor ziemlich genau einem Jahr (laut Git Changelog 1 Jahr und 1 Tag 😅) habe ich damit begonnen, als - [Radio Adfree iOS und Android App](https://www.rent-a-hero.de/2026/02/15/radio-adfree-ios-und-android-app/) - Unter https://www.radio-adfree.de gibt es einen Online Radio-Streaming Player sowie Links zu iOS- und Android-Apps für "Radio Adfree", eine. Radio-Player von rent a hero, der im letzten Jahr als Nebenprojekt entstanden ist! - [RAH Artikelimport für OXID 6](https://www.rent-a-hero.de/2020/08/31/rah-artikelimport-fuer-oxid-6/) - Der bewährte OXID eShop Artikelimporter ist endlich für die OXID 6 Version verfügbar! Per Composer installierbar, getestet mit der aktuellen Version OXID CE und EE 6.2.1. Neben den Feldern der Tabelle oxarticles können auch andere Tabellen befüllt werden. Aktuell können Langtext (oxartextends), SEO-Keywords und Description (oxseo), Attribute (oxattribute, oxobject2attribute), Auswahllisten (oxselectlist, oxobject2selectlist), Hersteller und Lieferanten (oxvendor und oxmanufacturers) automatisch angelegt und zugeordnet werden. Es werden - [Shopware6 Docker on MAC Hack](https://www.rent-a-hero.de/2019/07/19/shopware6-docker-on-mac-hack/) - If you have ever worked with Docker on MAC (or Windows without a recent linux subsystem), you know that working can be really, really slow ... at least if any significant I/O is involved. So, if you mount lots of files as a Docker volume, you *will* always get problems, period. Docker Sync etc. may - [Graylog 2 Plugin Howto](https://www.rent-a-hero.de/2018/12/03/graylog-2-plugin-howto/) - Some Java language and ecosystem knowledge given, it's not that hard to write your own plugin for the open source logging platform "Graylog".There is a good documentation available at http://docs.graylog.org/en/2.4/pages/plugins.html, although some infos and example GIT repos seem to be a bit out of date currently, maybe due to the fact that Graylog 3 is - [PHP MySQL GELF und JSON Polling Graylog Plugins verfügbar](https://www.rent-a-hero.de/2018/11/28/php-mysql-gelf-polling-graylog-plugins/) - Bei einem Projekt ergab sich kürzlich die Notwendigkeit, MySQL Statusinformationen in ein Graylog Logging System zu bekommen. Allerdings durfte der Webserver durch die Firmen-Firewall nur über die Standard-Ports 80 und 443 nach aussen kommunizieren und konnte so nicht z.B. über UDP selbst Daten an Graylog senden. Daher entstanden zwei kleine Graylog-Plugins, um einerseits die Daten - [Slides zum Thema "Gitea plus Drone.io als Alternative zu Gitlab CI, Jenkins und Co."](https://www.rent-a-hero.de/2018/10/19/slides-zum-thema-gitea-plus-drone-io-als-alternative-zu-gitlab-ci-jenkins-und-co/) - Leider konnte ich die Session "Gitea plus Drone.io als Alternative zu Gitlab CI, Jenkins und Co." beim letzten DevOps-Camp Compact aus Zeitgründen nicht halten, aber hier zumindest meine Slides zum Thema - Drone - Gitea - CI - [OXID Commons 2018 Slides](https://www.rent-a-hero.de/2018/06/15/oxid-commons-2018-slides/) - Eine tolle OXID Commons 2018 liegt hinter uns - hier die Slides meines "oxrun"-Workshops sowie meines "Docker"-Talks: Talk: "Sink or swim - Local Software-Development with Docker in heterogeneous teams?" (HTM) - (PDF) Workshop: "oxrun - OXID (6) CLI" (HTML) - (PDF) - [PHP Tipps: Verborgene Talente - Teil 1](https://www.rent-a-hero.de/2009/12/09/php-tipps-verborgene-talente-teil-1/) - Manche PHP-Funktionen können ja mehr als man denkt oder als ihr Name vermuten lässt - ein Beispiel dafür ist die Funktion "file_get_contents()": diese erlaubt (per "php.ini" eingeschaltete fopen wrappers ["allow_url_fopen"] vorausgesetzt) auch das Lesen entfernter Dateien durch Angabe eines URL. So lässt sich etwa blitzschnell ein RSS-Feed einlesen und z.B. mittels SimpleXML auswerten und weiterverarbeiten. - [PHP Tipps: Verborgene Talente - Teil 2](https://www.rent-a-hero.de/2009/12/10/php-tipps-verborgene-talente-teil-2/) - Immer wieder einmal kommt man als Entwickler in die Situation, lange Texte auf mehrere Zeilen aufteilen zu müssen, die eine maximale Länge nicht überschreiten dürfen - ein typisches Beispiel ist z.B. ein mehrzeiliger Kommentar-Text in einem PDF-Dokument, das man mittels einer PHP-Bibliothek wie FPDF erzeugen möchte. Wie teile ich diesen Text auf mehrere Zeilen auf, - [PHP Tipps - Arbeiten mit SAP IDoc Dateien](https://www.rent-a-hero.de/2009/12/16/php-tipps-arbeiten-mit-sap-idoc-dateien/) - SAP IDoc (Intermediate Document) wird von SAP intern verwendet, um z.B. Bestelldaten abzubilden. In der Regel werden IDoc-Daten mittels Message Mapping in andere Formate hin- und herkonvertiert, z.B. in EDIFACT. Eine generelle Definition von IDoc findet sich z.B. auf www.php-deluxe.de: Ein IDoc besteht nur aus Textzeichen und besteht aus einem Kontrollsatz, den Datensätzen und Statussätzen. - [Define associative arrays in Smarty](https://www.rent-a-hero.de/2013/05/17/define-associative-arrays-in-smarty/) - Here is a quick and dirty way to define an associative array in Smarty :) [{ assign var='myArray' value='/[\s,:]+/'|preg_split:"Blue:blue.png,Black:black.png,Red:deep_red.png"}] [{section loop=$myArray name=item step=2}] [{assign var="midx" value=$smarty.section.item.index+1}] Key: [{$myArray[item]}] - Value: [{ $myArray[$midx] }] [{/section }] - [OXID|Json - REST Schnittstelle für den OXID eShop mit AngularJS Frontend auf Github](https://www.rent-a-hero.de/2014/03/02/oxidjson-rest-schnittstelle-fuer-den-oxid-eshop-mit-angularjs-frontend-auf-github/) - Seit einigen Wochen auf Github verfügbar: OXID|Json! OXID|Json bietet ein CRUD-Interface (Create, Read, Update, Delete) für den OXID eShop an und enthält ein mit AngularJS erstelltes Frontend, mit dem die wichtigsten Funktionen getestet werden können. Das Frontend erlaubt die “Inline”-Bearbeitung aller Daten, die Daten können sortiert, gefiltert und modifiziert werden. Durch die Verwendung des Responsive-Frameworks - [OXID Artikel-Importer](https://www.rent-a-hero.de/2017/01/01/oxid_import_modul/) - Bei OXID Exchange finden Sie den rent-a-hero Artikelimporter für OXID eShops der Version 4.x / 5.x (CE, PE und EE). Dabei handelt es sich um ein Modul zum Importieren / Aktualisieren von Artikeln, Bildern und damit zusammenhängenden Daten (Artikeltexte, SEO Daten, Attribute, Auswahllisten, Crossselling, usw.) mittels CSV-Dateien. Neben den Feldern der Tabelle oxarticles können auch andere Tabellen befüllt - [Vue.js Datatable Vergleich](https://www.rent-a-hero.de/2017/04/22/vue-js-datatable-vergleich/) - Vue.js Datatables - Vergleich mit Sourcecode auf Github! - [Blogbeiträge zum Thema "Continuous Delivery mit Docker, Gitlab CI und Ansible"](https://www.rent-a-hero.de/2017/04/25/blogbeitraege-zum-thema-continuous-delivery-mit-docker-gitlab-ci-und-ansible/) - Hier geht es zu meinen Blogbeiträgen zu "Continuous Delivery mit Docker, Gitlab CI und Ansible" bei shoptimax: Teil 1 Download (PDF) Teil 2 Download (PDF) - [Zierfisch oder Wal - lokale Softwareentwicklung mit Docker](https://www.rent-a-hero.de/2017/04/25/zierfisch-oder-wal-lokale-softwareentwicklung-mit-docker/) - Ein paar Gedanken zur lokalen Entwicklung mit Docker, speziell im PHP-Bereich mit OXID und Shopware gibt es im shoptimax-Blog! Hier auch als Download (PDF) . - [DevOps Camp 2017 Tool-Tipps](https://www.rent-a-hero.de/2017/05/14/devops-camp-2017-tool-tipps/) - Das DevOps Camp 2017 vom 12.-14. Mai 2017 bot wieder zahlreiche interessante Vorträge, Diskussionen und Leute, tolles Essen und super Atmosphäre. Ein komplettes Recap folgt später, hier schonmal eine kleine Link-Sammlung für Tipps und Tools, die ich beim DevOps-Camp (wieder-)entdeckt habe bzw. die ich mir nun endlich einmal ansehen muss :) Backups mit Duplicati Remote Syslog - [Tools und Tipps vom Developercamp 2017](https://www.rent-a-hero.de/2017/05/18/tools-und-tipps-vom-developercamp-2017/) - Nach dem Camp ist auf dem Camp - erst das Devops Camp letztes Wochenende, nun das Developer Camp im Rahmen der Webweek Nürnberg. Auch auf dem DevCamp gibt es natürlich zahlreiche interessante Sessions mit vielen Tools und Tipps für den Entwickler-Alltag. Hier eine selektive Auswahl aus Sessions, die ich bisher besucht habe - viel Spass! - [Shopware 5.3. Plugins erstellen mit den Shopware CLI Tools](https://www.rent-a-hero.de/2017/08/19/shopware-5-3-plugins-erstellen-mit-den-shopware-cli-tools/) - Die Shopware CLI Tools ermöglichen es, das Erstellen von Plugins erheblich zu beschleunigen - egal ob es um Frontend-, Backend- oder API-Plugins (oder eine beliebige Kombination davon) geht. Im folgenden ein Beispiel für ein solches "Multi-Feature"-Plugin. Shopware CLI Tools Installation Wir erstellen mit den CLI Tools ein Plugin mit dem einfallsreichen Namen "MyTest01", hierzu ist - [How to call methods of a VueJS app from outside](https://www.rent-a-hero.de/2017/08/25/how-to-call-methods-of-a-vuejs-app-from-outside/) - While working on my VueJs product configurator I faced the challenge to call functions in a VueJs app from "outside", meaning the VueJs app is e.g. integrated into a PHP shopping application like Oxid eShop, Shopware or Magento and I have to e.g. check the state of the current configuration inside the VueJs app. In - [Die Shopware REST API von Javascript aus nutzen](https://www.rent-a-hero.de/2017/10/09/die-shopware-rest-api-von-javascript-aus-nutzen/) - Der Shopware Shop stellt eine umfassende REST-API zur Verfügung, über die man z.B. Artikel auslesen bzw. bearbeiten kann. API-User einrichten Standardmässig ist kein Benutzer mit API-Zugang angelegt, man kann jedoch einfach im Backend in der Userverwaltung für beliebige Nutzer API-Zugriff aktivieren und ein entsprechendes Token vergeben: Mit der Kombination aus Benutzername und Token kann man - [Module erstellen für OXID 6](https://www.rent-a-hero.de/2017/10/09/module-erstellen-fuer-oxid-6/) - OXID 6 steht in den Startlöchern. Während sich oberflächlich nicht viel ändert, wurde der Shop-Core deutlich entschlackt und modularisiert. Nicht zuletzt ist es nun möglich und erwünscht, sowohl den Shop als auch Erweiterungen / Module per Composer zu installieren. Eine noch im Aufbau befindliche Dokumentations-Plattform beschreibt die Modulinstallation mittels Composer genauer. Das wollen wir uns - [Use J. Wilders nginx-proxy in multiple docker-compose projects](https://www.rent-a-hero.de/2017/06/09/use-j-wilders-nginx-proxy-for-multiple-docker-compose-projects/) - There is an awesome project for Docker if you want to run e.g. multiple webserver containers on the same ports on one host machine, say Apache or Nginx on port 80: jwilder/nginx-proxy. Nginx-Proxy for Docker You have to expose the port 80 in the Dockerfile as usual, but you don't explicitly map the port in your ## Seiten - [Startseite](https://www.rent-a-hero.de/) - Willkommen bei rent-a-hero! Umsetzung und Unterstützung von PHP-, Java-, Javascript - Projekten. OXID eShop, Shopware, Symfony, Angular, VueJS, Web Components, Apache Solr, DevOps, Docker, Gitlab CI, ... - [Kontakt](https://www.rent-a-hero.de/kontakt/) - rent-a-hero c/o Stefan Moises Mathildenstr. 39 90489 Nürnberg stefan AT rent-a-hero.de - [Impressum](https://www.rent-a-hero.de/impressum/) - rent a hero c/o Stefan Moises Mathildenstr. 39 90489 Nürnberg USt.ID.: DE333687063 Email: stefan AT rent-a-hero.de Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich. Alle Rechte dieses Internet-Auftritts bleiben vorbehalten. Unauthorisiertes Kopieren und Verwenden von Inhalten, Fotos und - [Über mich](https://www.rent-a-hero.de/ueber-mich/) - Das beste Toolset ja nach Herausforderung. 20 Jahre Erfahrung. Dutzende erfolgreiche Projekte. Frische Ideen am Puls der Zeit. - [Technik ...](https://www.rent-a-hero.de/technik/) - Umsetzung von Projekten mit PHP, JavaScript, Java, MySQL, AngularJS, VueJS, OXID eShop, Shopware, .... - [Beispiel-Seite](https://www.rent-a-hero.de/beispiel-seite/) - Dies ist eine Beispiel-Seite. Sie unterscheidet sich von Beiträgen, da sie stets an der selben Stelle bleibt und (bei den meisten Themes) in der Navigation angezeigt wird. Die meisten Leute starten mit einem Impressum oder einer „Über uns“-Seite mit einer Vorstellung für mögliche Besucher der Website. Dort könnte zum Beispiel stehen: Hallo! Tagsüber arbeite ich ## Kategorien - [Allgemein](https://www.rent-a-hero.de/category/allgemein/) ## Schlagwörter - [vue](https://www.rent-a-hero.de/tag/vue/) - [vuejs](https://www.rent-a-hero.de/tag/vuejs/) - [datatable](https://www.rent-a-hero.de/tag/datatable/) - [angular](https://www.rent-a-hero.de/tag/angular/) - [aurelia](https://www.rent-a-hero.de/tag/aurelia/) - [javascript](https://www.rent-a-hero.de/tag/javascript/) - [webpack](https://www.rent-a-hero.de/tag/webpack/) - [framework](https://www.rent-a-hero.de/tag/framework/) - [json](https://www.rent-a-hero.de/tag/json/) - [ansible](https://www.rent-a-hero.de/tag/ansible/) - [gitlab](https://www.rent-a-hero.de/tag/gitlab/) - [ci](https://www.rent-a-hero.de/tag/ci/) - [cd](https://www.rent-a-hero.de/tag/cd/) - [docker](https://www.rent-a-hero.de/tag/docker/) - [continuous](https://www.rent-a-hero.de/tag/continuous/) - [integration](https://www.rent-a-hero.de/tag/integration/) - [oxid](https://www.rent-a-hero.de/tag/oxid/) - [vagrant](https://www.rent-a-hero.de/tag/vagrant/) - [teracy](https://www.rent-a-hero.de/tag/teracy/) - [dev](https://www.rent-a-hero.de/tag/dev/) - [php](https://www.rent-a-hero.de/tag/php/) - [mysql](https://www.rent-a-hero.de/tag/mysql/) - [shopware](https://www.rent-a-hero.de/tag/shopware/) - [vm](https://www.rent-a-hero.de/tag/vm/) - [ops](https://www.rent-a-hero.de/tag/ops/) - [devops](https://www.rent-a-hero.de/tag/devops/) - [camp](https://www.rent-a-hero.de/tag/camp/) - [nürnberg](https://www.rent-a-hero.de/tag/nuernberg/) - [etl](https://www.rent-a-hero.de/tag/etl/) - [drone](https://www.rent-a-hero.de/tag/drone/) - [talend](https://www.rent-a-hero.de/tag/talend/) - [devcamp](https://www.rent-a-hero.de/tag/devcamp/) - [developer](https://www.rent-a-hero.de/tag/developer/) - [mayflower](https://www.rent-a-hero.de/tag/mayflower/) - [software](https://www.rent-a-hero.de/tag/software/) - [npm](https://www.rent-a-hero.de/tag/npm/) - [rest](https://www.rent-a-hero.de/tag/rest/) - [webassembly](https://www.rent-a-hero.de/tag/webassembly/) - [nginx](https://www.rent-a-hero.de/tag/nginx/) - [proxy](https://www.rent-a-hero.de/tag/proxy/) - [jwilder](https://www.rent-a-hero.de/tag/jwilder/) - [makefile](https://www.rent-a-hero.de/tag/makefile/) - [network](https://www.rent-a-hero.de/tag/network/) - [compose](https://www.rent-a-hero.de/tag/compose/) - [apache](https://www.rent-a-hero.de/tag/apache/) - [ports](https://www.rent-a-hero.de/tag/ports/) - [plugin](https://www.rent-a-hero.de/tag/plugin/) - [cli](https://www.rent-a-hero.de/tag/cli/) - [tools](https://www.rent-a-hero.de/tag/tools/) - [backend](https://www.rent-a-hero.de/tag/backend/) - [api](https://www.rent-a-hero.de/tag/api/) - [generate](https://www.rent-a-hero.de/tag/generate/) - [fatal](https://www.rent-a-hero.de/tag/fatal/) - [fix](https://www.rent-a-hero.de/tag/fix/) - [model](https://www.rent-a-hero.de/tag/model/) - [create](https://www.rent-a-hero.de/tag/create/) - [frontend](https://www.rent-a-hero.de/tag/frontend/) - [vuetify](https://www.rent-a-hero.de/tag/vuetify/) - [window](https://www.rent-a-hero.de/tag/window/) - [global](https://www.rent-a-hero.de/tag/global/) - [product](https://www.rent-a-hero.de/tag/product/) - [configurator](https://www.rent-a-hero.de/tag/configurator/) - [magento](https://www.rent-a-hero.de/tag/magento/) - [cors](https://www.rent-a-hero.de/tag/cors/) - [options](https://www.rent-a-hero.de/tag/options/) - [preflight](https://www.rent-a-hero.de/tag/preflight/) - [denied](https://www.rent-a-hero.de/tag/denied/) - [login](https://www.rent-a-hero.de/tag/login/) - [auth](https://www.rent-a-hero.de/tag/auth/) - [htaccess](https://www.rent-a-hero.de/tag/htaccess/) - [ajax](https://www.rent-a-hero.de/tag/ajax/) - [xmlhttprequest](https://www.rent-a-hero.de/tag/xmlhttprequest/) - [oxid6](https://www.rent-a-hero.de/tag/oxid6/) - [modul](https://www.rent-a-hero.de/tag/modul/) - [composer](https://www.rent-a-hero.de/tag/composer/) - [install](https://www.rent-a-hero.de/tag/install/) - [autoload](https://www.rent-a-hero.de/tag/autoload/) - [zip](https://www.rent-a-hero.de/tag/zip/) - [metadata](https://www.rent-a-hero.de/tag/metadata/) - [migration](https://www.rent-a-hero.de/tag/migration/) - [commons](https://www.rent-a-hero.de/tag/commons/) - [oxrun](https://www.rent-a-hero.de/tag/oxrun/) - [console](https://www.rent-a-hero.de/tag/console/) - [eshop](https://www.rent-a-hero.de/tag/eshop/) - [gitea](https://www.rent-a-hero.de/tag/gitea/) - [goggs](https://www.rent-a-hero.de/tag/goggs/) - [git](https://www.rent-a-hero.de/tag/git/) - [graylog](https://www.rent-a-hero.de/tag/graylog/) - [polling](https://www.rent-a-hero.de/tag/polling/) - [java](https://www.rent-a-hero.de/tag/java/) - [input](https://www.rent-a-hero.de/tag/input/) - [gelf](https://www.rent-a-hero.de/tag/gelf/) - [remote](https://www.rent-a-hero.de/tag/remote/) - [basic auth](https://www.rent-a-hero.de/tag/basic-auth/) - [logging](https://www.rent-a-hero.de/tag/logging/) - [intellij](https://www.rent-a-hero.de/tag/intellij/) - [eclipse](https://www.rent-a-hero.de/tag/eclipse/) - [maven](https://www.rent-a-hero.de/tag/maven/) - [scripts](https://www.rent-a-hero.de/tag/scripts/) - [tutorial](https://www.rent-a-hero.de/tag/tutorial/) - [howto](https://www.rent-a-hero.de/tag/howto/) - [mac](https://www.rent-a-hero.de/tag/mac/) - [macos](https://www.rent-a-hero.de/tag/macos/) - [performance](https://www.rent-a-hero.de/tag/performance/) - [volume](https://www.rent-a-hero.de/tag/volume/) - [mount](https://www.rent-a-hero.de/tag/mount/) - [import](https://www.rent-a-hero.de/tag/import/) - [csv](https://www.rent-a-hero.de/tag/csv/) - [excel](https://www.rent-a-hero.de/tag/excel/) - [oxid5](https://www.rent-a-hero.de/tag/oxid5/) - [artikel](https://www.rent-a-hero.de/tag/artikel/) - [bilder](https://www.rent-a-hero.de/tag/bilder/) - [Radio](https://www.rent-a-hero.de/tag/radio/) - [iOS](https://www.rent-a-hero.de/tag/ios/) - [Android](https://www.rent-a-hero.de/tag/android/) - [iphone](https://www.rent-a-hero.de/tag/iphone/) - [App](https://www.rent-a-hero.de/tag/app/) - [streaming](https://www.rent-a-hero.de/tag/streaming/) - [adfree](https://www.rent-a-hero.de/tag/adfree/) - [player](https://www.rent-a-hero.de/tag/player/) - [web](https://www.rent-a-hero.de/tag/web/) - [appstore](https://www.rent-a-hero.de/tag/appstore/) - [apple](https://www.rent-a-hero.de/tag/apple/) - [google](https://www.rent-a-hero.de/tag/google/) - [shazam](https://www.rent-a-hero.de/tag/shazam/) - [record](https://www.rent-a-hero.de/tag/record/) - [download](https://www.rent-a-hero.de/tag/download/) - [free](https://www.rent-a-hero.de/tag/free/) - [gratis](https://www.rent-a-hero.de/tag/gratis/) - [audio](https://www.rent-a-hero.de/tag/audio/) - [mp3](https://www.rent-a-hero.de/tag/mp3/)