WebsiteBaker Community Forum

WebsiteBaker Support (2.8.x) => Hilfe & Support (deutsch) => General Help & Support => Module => Topic started by: freeSbee on December 19, 2014, 04:26:41 PM

Title: Neues Modul "OneForAll"
Post by: freeSbee on December 19, 2014, 04:26:41 PM

NEUES MODUL "ONEFORALL"

BESCHREIBUNG
OneForAll ist ein WebsiteBaker Modul so vielseitig wie ein Chamäleon.

OneForAll kann mehrmals in derselben WebsiteBaker Installation eingesetzt werden, indem vor dem Upload und der Installation in der Datei info.php ein anderer Modulname angegeben wird. Es können komplett massgeschneiderte Modulseiten erstellt werden: Einerseits können im Backend beliebig Felder definiert und andererseits für die Anzeige im Frontend Templates frei gestaltete werden.

Als Standard gibt es nur ein Titel-Feld sowie den Bilder-Upload. Zusätzlich können verschiedene Feldtypen ergänzt werden: Text, Textarea, Wysiwyg Editor, WB-Link, externer Link, E-Mail, Datei aus Unterverzeichnis von  Media auswählen, WB-Droplets, Datepicker, Datetimepicker und andere.

Einträge können auf einer Übersichtsseite und falls erwünscht auch auf einer Detailseite dargestellt werden.

OneForAll kann die Bilder als Lightbox2-Slideshow anzeigen.


MEHR INFORMATIONEN UND DOWNLOAD
http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991


Christoph
Title: Re: Neues Modul "OneForAll"
Post by: fischstäbchenbrenner on December 19, 2014, 06:04:49 PM
Hallo! -hab ich mir natürlich gleich angesehen!

Ich habe hier Fehler (älterer XAMPP, php 5.3).
Im Zusammenhang:
Code: [Select]
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM in ...\modules\oneforalltest\modify_item.php on line 187

$datepicker_lang      = defined('LANGUAGE') && !empty(LANGUAGE) ? strtolower(LANGUAGE) : 'en';
und nochmal später in einer gleichen Konstruktion.

Und:
Code: [Select]
Fatal error: Can't use method return value in write context in .... \modules\oneforalltest\save_item.php on line 87

Es gibt auch ein paar warnings:
Code: [Select]
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 80
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 166
Notice: Undefined variable: settings_admin_only in .... \modules\oneforalltest\modify.php on line 56

Alles Kleinigkeiten.

Etwas störend finde ich:
Man _muss_ das Modul umbenennen. Warum kann man nicht den Namen "OneForAll" beibehalten und einfach mal installieren?

Man übersieht leicht, dass man einen Namen (title) vergeben _muss_. ICh würde vorschlagen: Wenn title == leer, dann: title = "untitled". Macht weniger Stress ;-)

Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on December 19, 2014, 10:15:09 PM
Danke, Chio, für die schnelle Rückmeldung und die guten Anregungen!

Ich habe auf PHP 5.3 heruntergeschaltet und konnte einige Fehler "ausbügeln". Einzig die 3 Warnings konnte ich nicht reproduzieren. Zwei davon stammen nicht von "OneForAll" und bei $settings_admin_only ist mir unklar, wieso sie nicht definiert sein soll…
Code: [Select]
Deprecated: Assigning the return value of new by reference is deprecated in C:xamppphpPEARConfig.php on line 80
Deprecated: Assigning the return value of new by reference is deprecated in C:xamppphpPEARConfig.php on line 166
Notice: Undefined variable: settings_admin_only in .... modulesoneforalltest/modify.php on line 56

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on December 20, 2014, 03:17:48 AM
Quote
bei $settings_admin_only ist mir unklar, wieso sie nicht definiert sein soll…

config.php
$settings_admin_only = false;

damit bekommst du dann hier einen undefined Index
Code: [Select]
if ($settings_admin_only && $_SESSION['USER_ID'] !== 1) {
        $display_settings = 'none';
}

nehmen wir aber an, das $settings_admin_only = true ist, passt obige Schaltung nicht mehr, denn sie soll ja lt Code den Abschnitt ausblenden, wenn $settings_admin_only gesetzt ist und die User-ID ungleich 1 ist. Richtiger wäre wohl:
wenn settings_admin_only nicht gesetzt ist......
Code: [Select]
if (!$settings_admin_only && $_SESSION['USER_ID'] !== 1) {
        $display_settings = 'none';
}
Warum machst du es nicht, wie z.b. in Bakery (Funktion "nur Super-Admin zeigen"): in der DB beim Install $settings_admin_only auf 1 setzen und in den Moduleinstellungen ein Kontrollkästchen hin, dann hast du für $settings_admin_only immer einen Wert.

Zufällig hatte ich gerade mit einem ähnlichem, aber viel kleinerem Modul begonnen für eine Schauspielerin, Titel, Rolle, Regie, Sender bzw Theater, Ausgabe dann nach Jahrgängen zusammengefasst in Listenform. Modul deshalb, weil ich eine narrensichere Eingabe brauche.
Weil das One4All-Modul eigentlich meinen Anforderungen entsprach, dachte ich, teste doch gleich mal. Eigentlich alles drin an Möglichkeiten, was man für Listen irgendwelcher Art braucht, aber zwei Dinge, die mir jetzt gefehlt haben
1. die Möglichkeit, mit Gruppen zu arbeiten, um dann Einträge nach solchen Gruppierungen sortiert auszugeben (bei mir z.b. die Jahrgänge)
2. ein Schalter, der mich wählen läßt, ob ich eigene Unter-Seite pro Element brauche oder meine Einträge als Liste ausgegeben werden sollen (also reine view_overview ohne weitere Accessfiles).
Sind bereits Einträge getätigt, ist der Schalter nicht mehr bedienbar oder man spendiert noch eine Reorg.php zum Erstellen der Accessfiles, sofern keine vorhanden sind.

Zu den bisherigen Test's
Getestet hab ich mit PHP 5.5 und WB 2.8.4 Rev 2116, dort habe ich nur die eine Meldung bezüglich undefined Index $settings_admin_only
Da die 2.8.4 nicht mehr oder noch nicht die Language-Dateien zum Datepicker liefert, hab ich mir diese mit ins Modul gepackt und den Pfad entsprechend angepasst (modify_item.php).

Im Text habe ich jeden Feldtyp einmal verwendet, diesen aber nicht in jedem Eintrag auch belegt. Nicht belegte Felder sollten ausgeblendet werden und nicht die Werte des davor eingelesenen Eintrags anzeigen. Habe ich z.b. Langtext als Feldtyp definiert, jedoch nur im erstem Eintrag Text eingegeben und nicht in den weiteren Einträgen, dann wird der Text des ersten Eintrages mitgeschleift. Läßt sich ändern durch $values = array();  am Beginn der while-Schleife in der view_overview.php // Zeile 169

Unklar ist mir noch die Funktion des Droplet-Feldes. Hier bekomme ich nach Auswahl eines Droplets die Droplet-ID
Beim Auswahlfeld könnte das Eingabefeld für die Auswahl-Optionen größer sein. Ich tippe aber drauf, das ich es falsch bedient habe und mein Ergebnis nach Eingabe der Optionen, durch Komma getrennt, eher Zufall war
Sinnvoll wäre sicher, die Option "Feld-Template anpassen, wenn Feld-Typ geändert wird." standardmäßig zu aktivieren und vielleicht auch dessen Status zu speichern

Etwas unschlüssig bin ich noch über den Umbenennungs-Zwang. Der große rote Warnhinweis nach der Installation des Original-Zip war nicht zu übersehen, das Modul wurde aber dennoch im Ordner modules/oneforall kopiert (in der DB jedoch keine Table angelegt), kann dementsprechend auch erst nach einem manuellem Install verwendet werden.

Noch garnicht getestet hab ich die Bilderfunktionen
Title: Re: Neues Modul "OneForAll"
Post by: fischstäbchenbrenner on December 20, 2014, 10:42:43 AM
Seltsamer Bug:
Nach "Eintrag hinzufügen" ist das access-file der Seite (nicht das des Eintrags) verschwunden.
Title: Re: Neues Modul "OneForAll"
Post by: fischstäbchenbrenner on December 20, 2014, 11:26:38 AM
Quote
bei $settings_admin_only ist mir unklar, wieso sie nicht definiert sein soll…

Bei mir (alter XAMPP) wird config.php gar nicht geladen.
Möglicherweise liegt das an der Art, wie Dateien included werden bzw wo sie gesucht werden. Es gibt ja schon eine config.php.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on December 20, 2014, 01:40:50 PM
Hallo Uwe, hallo Chio

Euch beiden erst mal vielen Dank fürs Testen und eure Rückmeldungen!

@Chio
Ja, du hast Recht. PHP sucht bei include() und require() zuerst unter dem angegebenen Pfad. Da in OneForAll kein Pfad angegeben ist, sucht PHP als zweites im include_path und findet bei deinem XAMPP eine andere config.php Datei. Erst als drittes würde PHP im Verzeichnis der aufrufenden Datei suchen…

Kannst du mal in der Datei modify.php ca Zeile 27
Code: [Select]
require_once('config.php');ersetzen durch
Code: [Select]
require_once('./config.php');und nochmals testen?

Danke und Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on December 20, 2014, 02:17:37 PM
das Problem mit der nicht geladenen config.php hatten wir ja in Bakery schon. Bei mir und einigen anderen User ist das hier die Lösung

Code: [Select]
require_once('config.php');
ersetzen durch

Code: [Select]
require_once dirname(__FILE__).'/config.php';
Quote
Seltsamer Bug:
Nach "Eintrag hinzufügen" ist das access-file der Seite (nicht das des Eintrags) verschwunden.
kann ich bestätigen
Title: Re: Neues Modul "OneForAll"
Post by: DarkViper on December 20, 2014, 08:52:40 PM
Ja, du hast Recht. PHP sucht bei include() und require() zuerst unter dem angegebenen Pfad. Da in OneForAll kein Pfad angegeben ist, sucht PHP als zweites im include_path und findet bei deinem XAMPP eine andere config.php Datei. Erst als drittes würde PHP im Verzeichnis der aufrufenden Datei suchen…

Sorry, wenn ich hier mal korrigieren muss. Aber diese Aussage ist in 99% der Fälle schlicht falsch.
Nachzulesen in der Ausgabe von phpinfo()  Abschnitt Core, Eintrag: include_path

Die Standardinstallatio n von PHP beginnt den include_path immer mit '.:'. Darauf folgen dann verschiedene installationsbeding te oder manuell hinzugefügte Einträge.

Nach diesen Einträgen beginnt PHP bei relativ adressierten Dateien ( ../xx/ ) oder virtuell adressierten ( uvz/file.ext ) immer auf der Basis des aktuellen Arbeitsverzeichnise s zu suchen. Wird nichts gefunden, dann werden die include_path - Einträge von links nach rechts als Ausgangsbasis abgearbeitet. Ganz zum Schluss wird dann, unabhängig von include_path, nochmals im aktuellen Verzeichnis gesucht (nur zur Sicherheit, falls der include_path mal leer sein oder der Eintrag für das Arbeitsverzeichnis fehlen sollte).

Arbeitsverzeichnis. Wiederum ein Kapitel für sich. Normalerweise ist es das Verzeichnis, in dem die ursprünglich aufgerufene Datei sitzt. Das bleibt sehr häufig auch über die ganze Laufzeit des Scriptes erhalten.
Allerdings nur 'häufig' und nicht 'zwangsweise' / 'unbedingt' !
An jeder Stelle eines Scriptes (entweder der 'Startdatei') oder irgend einer eingebundenen Datei kann das Arbeitsverzeichnis ganz nach Belieben durch einen Aufruf von chdir() geändert werden. Auch gibt es einzelne Bibliotheksfunktion en, die hier 'herumschrauben'.
Geschieht das, sind ALLE relativen und virtuellen Pfadangaben mit einem Schlag ungültig!

Die einzige, wirklich sichere Adressierung von include-Dateien ist grundsätzlich die absolute Adressierung. Also ein kompletter Pfad der mit / (unix) oder x:/ (Win) beginnt.

Zu erreichen ist das mit der magischen Konstante __DIR__ oder bei älteren PHP-Versionen mit dem Ersatz: dirname(__FILE__)
Beispiel:
ausgehend von der Datei "/var/www/client/httpd/wb/modules/MyModule/save.php"

relativ:  " include('../../index.php') "
Ergebnis:  " include('/var/www/client/httpd/wb/modules/MyModule/../../index.php') "
Realpath: " include('/var/www/client/httpd/wb/index.php') "

jetzt ein kleines "chdir('../../media/home/user/');"

uns schon ergibt sich dieses Ergebnis
Ergebnis: " include('/var/www/client/httpd/wb/media/home/user/../../index.php') "
Realpath: " include('/var/www/client/httpd/wb/media/index.php') "
------
absolut: " include(dirname(dirname(__DIR__)).'/index.php') "  (also je ../ ein dirname() ).
Ergebnis:  " include('/var/www/client/httpd/wb/index.php') " (ganz egal, was und wo das Arbeitsverzeichnis gerade ist)

Erst wenn eine absolut adressierte Datei nicht gefunden wird (was i.d.R. nicht wirklich gut ist), beginnt auch hier der Gang durch die include_path, die aber wenig erfolgversprechend ist wie auch die abschließende Suche im aktuellen Arbeitsverzeichnis. .

... nur mal so um die Grundlagen von PHP ins Gedächtnis zurück zu holen..

Manuela
Title: Re: Neues Modul "OneForAll"
Post by: fischstäbchenbrenner on December 20, 2014, 09:47:09 PM
... nur mal so um die Grundlagen von PHP ins Gedächtnis zurück zu holen..
Manuela
Ich liebe deinen Führungsstil.  :mrgreen:
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on December 31, 2014, 12:52:22 PM
Neue OneForAll Version:

VERSION 0.2 (31.12.2014)

WEITERE INFOS UND DOWNLOAD
Weitere Informationen findest du in folgendem Post (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg194225.html#msg194225) (Englisch).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 05, 2015, 01:50:44 PM
Hallo Uwe

Eigentlich alles drin an Möglichkeiten, was man für Listen irgendwelcher Art braucht, aber zwei Dinge, die mir jetzt gefehlt haben
1. die Möglichkeit, mit Gruppen zu arbeiten, um dann Einträge nach solchen Gruppierungen sortiert auszugeben (bei mir z.b. die Jahrgänge)
2. ein Schalter, der mich wählen läßt, ob ich eigene Unter-Seite pro Element brauche oder meine Einträge als Liste ausgegeben werden sollen (also reine view_overview ohne weitere Accessfiles).
Sind bereits Einträge getätigt, ist der Schalter nicht mehr bedienbar oder man spendiert noch eine Reorg.php zum Erstellen der Accessfiles, sofern keine vorhanden sind.

1. Du kannst ein Feld mit dem Feld-Typ "Auswahlliste" erstellten. Bei den Optionen der Auswahlliste trägst du dann die gewünschten Gruppennamen als Komma separierte Werte ein, um auf dein Beispiel zurückzukommen die Jahrgänge 2000,2001,2002,2003, … 2014,2015. Schliesslich kannst du ein Droplet erstellen, welches die Daten nach Jahrgängen sortiert ausgibt. Oder mit wenig Aufwand lässt sich auch der Modul-Code so anpassen, dass bei der Datenabfrage die Jahrgänge berücksichtigt werden.

2. Passe unter > "Seiten-Einstellungen" > "Layout Einstellungen" das Template der Übersichtsseite so an, dass kein Link auf eine Detailseite ausgegeben wird. Das Template für die Detailansicht kann dann leer bleiben.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 05, 2015, 03:46:09 PM
Schön, das du dir Gedanken gemacht hast, aber ich brauche da keine Lösung für mich. Dort verwende ich nun ein eigenes Modul, das genau diese 6 Eingabefelder hat, die da benötigt werden, Gruppe für die Jahrgänge und 5 einfache Textfelder.
Mit Gruppen arbeiten zu können, erspart dem späteren Nutzer einiges an Aufwand, aus meiner Sicht sollte das in keinem Modul solcher Art fehlen.
Und zu den Accessfiles... in meinem Beispiel würde ich jetzt gut 200 solcher Dateien erstellen, die ich nie und nimmer benötigen würde - dafür fehlt mir, ehrlich gesagt, der Sinn.

Am Ende ist es meine persönliche Meinung, um die hier (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991) gebeten wurde, die kann man teilen oder vergessen. Andere scheinen damit kein Problem zu haben - von daher : Alles gut!  :wink:
Title: Re: Neues Modul "OneForAll"
Post by: BlackBird on January 06, 2015, 06:16:49 PM
Getestet Version 0.2 unter WB 2.8.3, Umgebung XAMPP mit PHP 5.5 und mySQL 5.6 im strict mode

Installation
-> deprecated-Fehlermeldung wegen mysql_*, kann aber vom Core kommen, hab nicht so genau hin geschaut

Eintrag hinzufügen
-> Warning: array_map(): Argument #2 should be an array in <Pfad>\modules\oneforall\modify_item.php on line 63 (+64)

Eintrag speichern (hatte nur einen Namen eingetragen)
-> Warning: Invalid argument supplied for foreach() in <Pfad>\modules\oneforall\save_item.php on line 387

Nochmal Eintrag hinzufügen -> Bild
-> Warning: Invalid argument supplied for foreach() in <Pfad>\modules\oneforall\save_item.php on line 387
-> Field 'caption' doesn't have a default value (mysql strict Fehler)

Eingabefelder
-> Wenn das irgendwas macht bzw. sich irgendwie auswirkt, dann nicht sichtbar. Egal, worauf ich klicke, ich kriege zwar ein "okay", es ändert sich aber nirgendwo irgendwas.

Mehr konnte ich nicht testen, da das Hinzufügen von Einträgen nicht funktioniert.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 06, 2015, 09:36:06 PM
Hallo BlackBird

Besten Dank fürs Testen und deine Rückmeldungen!

Installation
-> deprecated-Fehlermeldung wegen mysql_*, kann aber vom Core kommen, hab nicht so genau hin geschaut
Diesen Fehler konnte ich nicht reproduzieren.

Eintrag hinzufügen
-> Warning: array_map(): Argument #2 should be an array in <Pfad>\modules\oneforall\modify_item.php on line 63 (+64)
Diesen Fehler konnte ich nicht reproduzieren. Möglicherweise hängt er mit mySQL strict mode zusammen?

Eintrag speichern (hatte nur einen Namen eingetragen)
-> Warning: Invalid argument supplied for foreach() in <Pfad>\modules\oneforall\save_item.php on line 387
gefixt

Nochmal Eintrag hinzufügen -> Bild
-> Warning: Invalid argument supplied for foreach() in <Pfad>\modules\oneforall\save_item.php on line 387
-> Field 'caption' doesn't have a default value (mysql strict Fehler)
gefixt

Eingabefelder
-> Wenn das irgendwas macht bzw. sich irgendwie auswirkt, dann nicht sichtbar. Egal, worauf ich klicke, ich kriege zwar ein "okay", es ändert sich aber nirgendwo irgendwas.
Dieses Fehlverhalten konnte ich auch nicht reproduzieren. Möglicherweise hängt es auch mit mySQL strict mode zusammen?

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: BlackBird on January 07, 2015, 09:38:44 AM
Vorweg: Neben mysql strict habe ich XDebug eingeschaltet, daher sehe ich vielleicht mehr Fehler als normalerweise.

Installation -> deprecated
Ich habe ein WB 2.8.3 ohne SP3, aber PHP 5.5, daher kann das daher rühren.

array_map() Fehler
Normalerweise wirkt sich strict nur beim Erstellen von Tabellen und beim Eintragen oder Aktualisieren von Datensätzen aus. (Okay, und bei Relationen, aber das dürfte hier keine Rolle spielen.) Ich müßte aber erst selbst in den Code schauen, um zu sehen, was da vor sich geht.
Stell doch einfach mal Dein mysql auf strict, dann siehst Du es ja.

Eingabefelder
Da ich keinerlei Fehlermeldung erhalte, würde ich einen strict-Fehler eigentlich ausschließen, aber auch da müßte ich erst mal den Code anschauen.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 07, 2015, 02:17:07 PM
Hallo BlackBird

Ich habe soeben mit sql_mode STRICT_ALL_TABLES durchgetestet und keine Fehlermeldung(en) erhalten.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 22, 2015, 01:56:59 PM

Neue OneForAll Version:

VERSION 0.3 (22.01.2015)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: instantflorian on February 05, 2015, 08:31:29 AM
Hallo Christoph,

Dieses Modul stellt eine wertvolle Erweiterung für WB dar. Vielen Dank dafür.

Mir sind bei der Vorbereitung einer Verwendung als Immobilienliste folgende kleine Bugs aufgefallen:
1) Wird mehr als ein WYSIWYG-Feld definiert, kommt es zu einem Fatal Error:
Code: [Select]
Cannot redeclare show_wysiwyg_editor() (previously declared in /.../modules/ckeditor/include.php:44) in /.../modules/ckeditor/include.php on line 265
2) Beim Feldtyp Auswahlliste ist ein "Versprung" zwischen Backend und Frontend.
Gegeben sind die Werte: eins,zwei,drei,vier
Im Backend ausgewählt wird: zwei
Im Frontend angezeigt wird: drei

WB 2.8.3 SP3, PHP 5.4, CKEditor 4.4.3

Viele Grüße
-Florian.
(der dann jetzt wieder in der Versenkung verschwindet)



Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on February 05, 2015, 07:36:01 PM
Hallo Florian

Danke für deine Rückmeldungen! ich werde die Fixes mit der nächsten Version veröffentlichen.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on February 06, 2015, 10:19:04 AM

Neue OneForAll Version:

VERSION 0.4 (22.06.2015)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 06, 2015, 11:13:57 AM
Quote
The requested URL /downloads/oneforall/oneforall.zip was not found on this server.
Title: Re: Neues Modul "OneForAll"
Post by: fischstäbchenbrenner on February 06, 2015, 01:36:57 PM
Vorher wars noch http://www.bakery-shop.ch/downloads/oneforall.zip
Aber das funktioniert jetzt auch nicht.
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 06, 2015, 01:59:07 PM
bei mir funktioniert der Link ohne Probleme, ich häng den Download vom 06.02.15 hier mal mit ran
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 06, 2015, 02:53:25 PM
Jetzt geht der Link auch bei mir wieder.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 06, 2015, 07:20:25 PM
Hab das jetzt zum ersten Mal getestet. Erinnert an Bakery, kenn ich also schon etwas, schön.  :-)
Kann man den Feldern im Backend sagen, wenn type wysiwyg, dann label oben drüber statt links daneben?
Sonst geht für den Wysiwyg-Editor so viel PLatz links verloren.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on February 07, 2015, 12:39:24 PM
Hallo dbs

Danke für die Anregung, die ich in die nächste Version aufnehmen werde.

Bis dahin kannst du den Code in der Datei functions.php ca. Zeile 64/65 anpassen.

Suche folgenden Code:
Code: [Select]
echo $t2.'<td width="20%" align="right" valign="top">'.$label.':</td>'.$nl;
echo $t2.'<td>'.$nl;

und ersetze ihn durch folgende Zeile:
Code: [Select]
echo $t2.'<td colspan="2" valign="top">'.$label.':'.$nl;
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 07, 2015, 02:19:21 PM
Hi, bestens klappt das und sieht prima aus.  :-)
Thx und Gruß
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 08:14:49 AM
Hallo, versuche gerade eine Emailadresse (als Emailfeld) erfolglos in der Form zu speichern:
xx@xxxxx-xxxxxxxxx.xxxxxxxxxx.de
Sind wohl 32 Zeichen, liegts daran? Konnte aber in den Dateien keine Beschränkung finden.

Da ich nur eine Übersichtsseite brauche und keine Detailseite, wie kann ich dem Thumb den Link entziehen?

Gruß
dbs
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 08:42:19 AM
Ist wohl noch etwas früh ...
Die Emailadresse wird gespeichert, aber mit Fehlermeldung, dass sie ungültig ist.

Der Link des Thumbs öffnet die Lightbox wie gewünscht falls sie aktiviert ist.
Aber wenn da kein Haken drin ist, dann führt der Thumblink zur Detailseite. Kann man das deaktivieren?
Beim TITLE kann man das <a href entfernen, nur der Thumb ist ja ein [THUMB].
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 11:11:28 AM
Und noch eine Frage  :-)

2 Abschnitte oneforall pro Seite sind wohl nicht vorgesehen, denn die Lightbox bekommt dann ein Eigenleben und erscheint unterhalb des Contents. Ob Lightbox aktiviert oder nicht spielt keine Rolle.

Warum wollte ich das. Jede Gruppe sollte einen Gruppennamen und eine Kurzbeschreibung erhalten, deshalb der Versuch
Wysiwyg mit Gruppenname und Beschreibung
oneforall mit Mitgliedern
Wysiwyg mit Gruppenname und Beschreibung
oneforall mit Mitgliedern

Kann ich mit 2 Wysiwyg und 1 oneforall irgendwas drehen mit Droplet sectionpicker um die Inhalte ins oneforall zu holen?
Oder gibt es eine andere Lösung?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 11:47:31 AM
Und weil es so schön ist hier zu posten ...  :roll:

Emailadressenproble m war hausgemacht, ist erledigt. Leerzeichen am Ende

Sectionpicker lässt sich simple an den Gruppennamen hängen und würde so versteckte Abschnitte reinholen können.
Leider steht bei den Gruppen im Dropdown dann:
Gruppe1[[sectionpicker?sid=1]]
GruppeB[[sectionpicker?sid=123]]

Mühsam ernährt sich das Eichhörnchen  :-)
Title: Re: Neues Modul "OneForAll"
Post by: gottfried on March 25, 2015, 11:59:34 AM
Hallo!

Ich steh grad mal wieder auf dem Schlauch.

Ich hab einen fast  jungfräulichen wb Version 2.8.3 Revision 1638
und OneForAll von dem Link oben unverändert installiert.

Immerhin hab ich ein Bild hochgeladen. Aber wie ist das mit den Feldern?

Unter "Eingabefelder" kann ich zwar 2 zufügen - aber das war's dann schon und die tauchen nirgends auf.

(u.U als [FIELD_1] [FIELD_2]  im Frontend. Aber das was da auf englisch steht kann ich auch nicht ändern)


http://www.channel-1.de/dbs/cms4/pages/oneforall.php
 (http://www.channel-1.de/dbs/cms4/pages/oneforall.php)

 :?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 12:18:01 PM
Quote
Aber das was da auf englisch steht kann ich auch nicht ändern
Das solltest du zuerst aufmerksam lesen, dann wird klar was zu tun ist.  :-)
Danach kannst du den Text aus den Seiteneinstellungen löschen.
Title: Re: Neues Modul "OneForAll"
Post by: gottfried on March 25, 2015, 12:54:38 PM
Hallo DBS

hm ... hat diesmal funktioniert. Hab wohl auf den falschen Button gedrückt.

Das ist also ähnlich wie Topics ohne Kommentarfunktion  oder Members,
nur daß man die Felder für's backend frei gestalten kann?

Also eher was redaktionelles?




Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 01:11:11 PM
Seh ich so. Dem User eine Maske bereitstellen.
Eigentlich ist es ähnlich Topics da man auf mehr Content weiterklicken kann. Bei Members müssen die Unter-Seiten schon vorher existieren bzw. noch erstellt werden.

Mein Wunsch wäre, dass das Modul auch wirklich mehrere Abschnitte beherrscht.
Im Moment werden die Lightbox-Scripte genauso oft geladen wie oneforall-Abschnitte existieren.
Oder fügt man ein Feld im Abschnitt 1 hinzu existiert es plötzlich auch im 2. Abschnitt.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 25, 2015, 04:40:53 PM
Ich hätte den Hinweis auf Modul-Umbenennung bzw. Mehrfach-Installation eher lesen sollen.
Nun habe ich mir Inhalte zerstört, weil in einem anderen Abschnitt ein Feldtyp gelöscht wurde.
Title: Re: Neues Modul "OneForAll"
Post by: gottfried on March 26, 2015, 09:25:07 AM
Hi!

Das Modul könnte ganz praktisch sein. Ich hatte öfter das Problem, daß auch wenn ich mit Vorlagen in Wysywig gearbeiter habe zwecks differenzierten Formatierungsmöglic hkeiten für Anwender, diese die gern zerschossen haben.
In Felder werden die das doch wohl schaffen.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 26, 2015, 09:59:37 AM
Da es mir passiert ist, finde ich es riskant. Wenn ein anderer User irgendwo einen neuen Abschnitt anlegt und denkt er braucht die Felder nicht, die gerade eingetragen sind und löscht die, dann fehlen diese Felder + Inhalte in allen anderen Abschnitten.
Wiederherstellen is nicht.
Wahrscheinlich hab ich es nur falsch bedient... und damit ist es nicht DAU-sicher  :-D
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 03, 2015, 09:13:39 PM
Hallo dbs

Danke fürs Testen und deine Rückmeldungen!

Das Modul "OneForAll" wurde von Anfang an nur für eine Section konzipiert.

Ursprünglich konnte das Modul nicht installiert werden, wenn es vor der Installation nicht umbenannt wurde. Dies ist aber auf Grund von Tester-Rückmeldungen geändert worden.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: instantflorian on April 22, 2015, 08:18:41 PM
Hallo,

mir war da noch ein Bug aufgefallen. Wenn Elemente deaktiviert sind, verzählt sich die Paginierung (prev / next)-Navigation.

Zum Beheben dieses Problems in der view_item.php die Zeile

Code: [Select]
// For pagination get total number of items of this section
$query_total_num = $database->query("SELECT item_id FROM ".TABLE_PREFIX."mod_".$mod_name."_items WHERE section_id = '$section_id' AND active = '1' AND title != ''");

ändern zu

Code: [Select]
// For pagination get total number of items of this section
$query_total_num = $database->query("SELECT item_id FROM ".TABLE_PREFIX."mod_".$mod_name."_items WHERE section_id = '$section_id'");

Bei mir heißt das Modul "Wohnungen", weil ich es als Wohnungsliste einsetze. Auf der Basis des Lastitems-Snippets für Bakery habe ich ein Modul "Lastwohnungen" zusammengestümpert, mit dem die zuletzt geänderten Einträge angezeigt werden. Ich stelle es hier mal als Grundlage für Weiterentwicklungen und Anpassungen zur Verfügung.

Außerdem fand ich es für mich praktisch, im Backend noch weitere Informationen zu den Einträgen darzustellen. Das ist nicht so ganz trivial, weil diese in einer anderen Tabelle in der Datenbank liegen und man genau wissen muss, wie die Feldbezeichnung lautet.
D.h. in der modify.php muss zunächst eine weitere Datenbankabfrage erfolgen, nach Zeile 132 und in etwa so:
Code: [Select]
<?php // fuer bunten Code im Forum
$we_id_query $database->query("SELECT value FROM ".TABLE_PREFIX."mod_".$mod_name."_item_fields WHERE item_id = '".$post['item_id']."' AND field_id = '1'");
$we_id   $we_id_query->fetchRow();
fiel_id ist das Feld, das angezeigt werden soll. $we_id ist ein beliebiger Variablenname (bei mir ist es halt die Wohneinheit-ID)
An der gewünschten Stelle in der Tabelle dann eine weitere Zelle einfügen:
Code: [Select]
<td>
<?php echo $we_id[0]; ?>
</td>

Bitte beachten: Das sind hier alles keine Kopiervorlagen, d.h. nicht 1:1 übernehmen, sondern wirklich nur als Anregung/Grundlage verwenden und den konkreten, individuellen Bedürfnissen und Anforderungen anpassen. Keine Gewähr und keine Garantie für nichts. Ich bin bekanntermaßen ja auch kein Coder. Man kann das bestimmt alles viel eleganter und objektorientierter lösen.

Wer das live und in Farbe sehen will:
http://www.seniorenwohnen24.de/pages/seniorenwohnen/freie-wohnungen.php

BR
-Florian.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on June 05, 2015, 02:31:37 PM

Neue OneForAll Version:

VERSION 0.5 (29.05.2015)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg198675.html#msg198675).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph

Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 17, 2015, 08:26:24 AM
Hallo, nachdem ich wiedermal simple Anfangsschwierigkei ten überwunden hatte ist auch wiedermal die Erkenntnis da, dass so ein flexibles Modul eine klasse Sache ist.

Nutze es auf einer Bakery-Seite und lade es in Bakery mit sectionpicker in die Übersicht Fußzeile, damit es nicht auf jeder Detailseite erscheint. Genauso hole ich Miniform in die Fuußzeile.

Besten Dank erstmal.  :wink:

Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 21, 2015, 07:44:49 AM
Moinsen,

die Umbenennung in der info.php von "OneForAll" zu "word-word-ofa" führte dazu, dass sich das Modul zwar installieren ließ, aber die dann hinzugefügte Section konnte nicht bearbeitet werden.
Die Section hieß "wordwordofa" und konnte nicht angeklickt werden.
WB283 SP1, PHP5.4

Kann das jemand bestätigen?

Umbennung in der info zu "Word Word ofa" und Neuinstallation war dann erfolgreich.

Gruß
dbs
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on June 21, 2015, 12:14:23 PM
Hallo Frank

Ja, das kann ich bestätigen. Es handelt sich um einen Bug in der Version 0.5 und älter. Bindestriche sind in mySQL-Bezeichnern ohne Backticks nicht  zugelassen. Ich werde den "Käfer" mit der nächsten Version beheben.

Schnelle Abhilfe: Im Modulnamen auf Bindestriche (Hyphens) verzichten.

Quote
Permitted characters in unquoted identifiers:
ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)

Danke für den Hinweis und Gruss
Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 21, 2015, 05:59:45 PM
Hi Christoph, dachte mir das ja mit dem Bindestrich.

Was könnte ich tun um vom Main-Image nur die Adresse zu erhalten statt <img src= ?

Versuche gerade einen Slider zusammenzubauen und möchte da im Loop das Mainimage als Background einbinden.
<li style="background: url([IMAGE])

{IMAGE} gibt’s nicht  :-)

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on June 21, 2015, 09:50:41 PM
Hallo Frank

Du kannst dafür ein Droplet erstellen oder - falls du das nicht möchtest - musst du den OneForAll Code anpassen. Für die Detailseite zB. in view_item.php Zeile 322
Code: [Select]
$image_arr[] = $caption_prepend.$prepend.$img_url.$image_file.$img_append.$caption_append;ändern in
Code: [Select]
$image_arr[] = $img_url;
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 22, 2015, 08:25:42 AM
Hi, hiermit klappts ganz gut.
Code: [Select]
$image_arr[] = $img_url.$image_file;
Danke und Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 25, 2015, 11:49:27 AM
Hi,

falls ich ein Modul vorbereiten will für eine Installation, wie kann ich die Felder in page settings (Seiten Einstellungen) mit eigenem Markup bestücken?
Oder auch ein Field_1 in Eingabefelder mit eigenem Inhalt bereits anlegen.

Das wird bei der Installation in die DB geschrieben nehm ich an, aber fand es nicht in der install.php.

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on June 25, 2015, 11:53:59 AM
Hallo Frank

Default settings:
Page settings in der Datei add.php.
Fields in der Datei add_field.php.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 25, 2015, 11:59:31 AM
Quote
Page settings in der Datei add.php.
Fields in der Datei add_field.php.
Menno, genau DA hab ich nicht gesucht  :-D
Danke
Title: Re: Neues Modul "OneForAll"
Post by: egnal on August 24, 2015, 01:06:47 PM
Erst einmal Danke für dieses Modul.
Eine Frage: Ich würde gerne den Inhalt von z.B. field_2 im Backend bei der Übersicht, hinter dem Seitennamen anzeigen lassen.  Wie und wo mache ich das?
Danke für die Antwort und Gruß
Egnal
Title: Re: Neues Modul "OneForAll"
Post by: egnal on August 31, 2015, 07:20:31 PM
Gibt's keine Antwort oder einen Hinweis?
Habe ich hier noch nie erlebt.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on August 31, 2015, 09:29:11 PM
Ciao Egnal

Leider ist das nur mit Programmierkenntnis sen möglich. Du musst dazu die Datei modify.php bearbeiten. Ca. Zeile 140 wird die Abfrage der Datenbank-Tabelle mod_MODULNAME_item_fields gemacht, allerdings nur für den Feldtyp group. Hier musst du den Code anpassen und erweitern, damit du auch den value von field_2 erhältst. Anschliessend kannst du die erhaltenen Daten etwas weiter unten im Code nach deinen Wünschen in die HTML-Tabelle einfügen.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: egnal on August 31, 2015, 09:46:02 PM
Hallo freesbee;
erst einmal Danke, dass jemand antwortet. Was Du schreibst, habe ich, trotz mangelhaften php-Kenntnissen herausbekommen.  Das Interessante ist, dass ich es z.B. beim Module Topics, soetwas  selbst lösen konnte. In diesem Model aber nicht. Ich stehe irgenwie auf den "Schlauch". Gedankenansatz wäre gut....
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on September 03, 2015, 07:44:13 AM
Ciao Egnal

Den Gedankenansatz habe ich dir in meinem letzten Post (http://forum.WebsiteBaker.org/index.php/topic,27896.msg200220.html#msg200220) geliefert … Wie sieht denn nun dein angepasster Code aus? Gibt's Fehlermeldungen?

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on September 09, 2015, 06:39:32 PM
Hallo,

ich nutze das Modul um Produkte auf einer Übersichtsseite anzuzeigen. Ein KLick auf Details soll dann aber zu dem jeweiligen Produkt in einen Shop (andere Domain) führen.

Habe in Übersicht (Eintrag Schleife) die Überschrift vom Link befreit und zeige daneben einen Button an:
Code: [Select]
<a style="float:right" class="btn btn-info" href="http://andereDomain.de/kategorie/[TITLE]" target="_blank" title="Text">Details</a>
Das Problem dabei ist, dass die Überschrift auch Leerzeichen enthält oder sonstwas was nicht in eine URL gehört.
Kann man [TITLE] nur im Link irgendwie "bereinigen"?

Gruß
dbs
Title: Re: Neues Modul "OneForAll"
Post by: Ruud on September 09, 2015, 10:18:52 PM
Kann man [TITLE] nur im Link irgendwie "bereinigen"?

create a droplet (call it something like urlencode):
Code: (untested droplet) [Select]
return urlencode($t);

Next create the link like:
Code: [Select]
<a style="float:right" class="btn btn-info" href="http://andereDomain.de/kategorie/[[urlencode?t=[TITLE]]]" target="_blank" title="Text">Details</a>

That should do the trick..
Title: Re: Neues Modul "OneForAll"
Post by: dbs on September 09, 2015, 11:53:54 PM
Good idea, Ruud.

Have tested, some more lines seems to help.
Code: [Select]
<?php // for colored code

// TITLE = Word and Wörds - some more text
// should be: word-and-woerds

#$t = urlencode($t);
$t explode(' -'$t);
$t strtolower($t[0]);
$find = array(' ''&ouml;');
$repl = array('-''oe');
$t str_replace($find$repl$t);

return 
$t;

There is only 1 word with ö ;-)

Thx, dbs
Title: Re: Neues Modul "OneForAll" - Bug bei Suche und Featurewünsche
Post by: instantflorian on September 21, 2015, 07:26:02 PM
Hallo,

mir ist gerade ein Bug aufgefallen. In den Suchergebnissen erscheinen Fundstellen in OneForAll-Items mehrfach, konkret: genau so oft, wie es Eingabefelder gibt. Das kann ja eigentlich nicht beabsichtigt sein, oder? (Getestet mit WB 2.8.3 SP4).
(http://s3.postimg.org/hdv83423z/2015_09_21_190920.jpg) (http://postimg.org/image/hdv83423z/)

Und eine Anregung für eine kommende Version:
Nachdem ich mit OFA einen Kunstausstellungska talog erstellt habe und mir beim Sortieren der 70+ Einträge (es war eine große Ausstellung ;-)) fast eine Blase an den Daumen geklickt habe, fände ich noch eine Möglichkeit toll, Einträge automatisch sortieren zu lassen... und/oder Anordnung per Drag und Drop wie bei Bakery wären super.

Davon abgesehen ist OFA ein tolles und vielseitig einsetzbares Modul.
Title: Re: Neues Modul "OneForAll"
Post by: egnal on September 21, 2015, 07:41:39 PM
Ja, mit der Suche ist mir auch aufgefallen - vorsichtshalber erst einmal abgestellt - macht eigentlich keinen Sinn, bei einem so guten Modul.
Title: Re: Neues Modul "OneForAll" - Bug bei Suche und Featurewünsche
Post by: freeSbee on September 21, 2015, 09:59:02 PM
Ciao Florian

mir ist gerade ein Bug aufgefallen. In den Suchergebnissen erscheinen Fundstellen in OneForAll-Items mehrfach, konkret: genau so oft, wie es Eingabefelder gibt. Das kann ja eigentlich nicht beabsichtigt sein, oder? (Getestet mit WB 2.8.3 SP4).
Ich habe die Datei search.php gefixt. Hast du Zeit sie zu testen (ZIP-Anhang)?

Und eine Anregung für eine kommende Version:
Nachdem ich mit OFA einen Kunstausstellungska talog erstellt habe und mir beim Sortieren der 70+ Einträge (es war eine große Ausstellung ;-)) fast eine Blase an den Daumen geklickt habe, fände ich noch eine Möglichkeit toll, Einträge automatisch sortieren zu lassen... und/oder Anordnung per Drag und Drop wie bei Bakery wären super.
Gute Anregung! Werde ich - und nun kommt der altbekannte Spruch - sobald mal Zeit ist - umsetzen.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on September 22, 2015, 07:31:12 AM
Nachtrag:

Am Anfang der Datei search.php steht zweimal der String oneforall:
Code: [Select]
function oneforall_search($func_vars) {
extract($func_vars, EXTR_PREFIX_ALL, 'func');
$mod_name = 'oneforall';

Ersetze beide Strings oneforall durch den von dir gewählten Modulnamen in Kleinbuchstaben:
Code: [Select]
function deinmodulname_search($func_vars) {
extract($func_vars, EXTR_PREFIX_ALL, 'func');
$mod_name = 'deinmodulname_search';
Title: Re: Neues Modul "OneForAll"
Post by: instantflorian on September 22, 2015, 07:35:09 AM
Wunderbar, funktioniert. Danke! (Y)
Title: Re: Neues Modul "OneForAll"
Post by: egnal on September 22, 2015, 09:59:44 PM
Ja, danke die Suche funktioniert.
Title: Re: Neues Modul "OneForAll"
Post by: egnal on September 22, 2015, 10:09:58 PM
Quote
Ciao Egnal
Den Gedankenansatz habe ich dir in meinem letzten Post geliefert … Wie sieht denn nun dein angepasster Code aus? Gibt's Fehlermeldungen?
Nein und danke für Deine Hilfestellung. Habe es hinbekommen. Und es funktioniert.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on September 27, 2015, 05:14:12 PM

Neue OneForAll Version:

VERSION 0.7 (27.09.2015)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg200591.html#msg200591).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on October 05, 2015, 10:03:19 PM
Quote from: freeSbee
Quote from: instantflorian
Und eine Anregung für eine kommende Version:
    Nachdem ich mit OFA einen Kunstausstellungska talog erstellt habe und mir beim Sortieren der 70+ Einträge (es war eine große Ausstellung ;-)) fast eine Blase an den Daumen geklickt habe, fände ich noch eine Möglichkeit toll, Einträge automatisch sortieren zu lassen... und/oder Anordnung per Drag und Drop wie bei Bakery wären super.

Gute Anregung! Werde ich - und nun kommt der altbekannte Spruch - sobald mal Zeit ist - umsetzen.

Ich hatte jetzt nur 20 Einträge, aber geflucht wie bei 70   :-)
Drag'n'Drop wurde schmerzlichst vermisst.

Der Titel des Abschnittes könnte evtl. frei gewählt werden, denn Seitenname und Section-ID sind eigentlich leicht zu erkennen. Dagegen bei mehreren Abschnitten auf einer Seite und das mit mehreren Seiten, weiß man nicht so genau wo man hinverschieben/dublizieren will, weil alle gleich heißen je Seite.

Top Modul, arbeitet sich sehr gut damit!
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on October 06, 2015, 01:44:17 PM
Neue OneForAll Version:

VERSION 0.8 (06.10.2015)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on October 06, 2015, 07:09:11 PM
Besten Dank für dieses superschnelle Feature Update!  (Y)
Funktioniert im ersten Test wie es soll.
So wird das Arbeiten noch schöner  8-)
Title: Re: Neues Modul "OneForAll"
Post by: cliff on October 27, 2015, 01:43:17 PM
Moin Moin,

ich habe dieses Modul bereits mehrfach im Einsatz und bin schwer begeistert ... so flexibel und individuell einsetzbar!!! Sehr schön!

Die Sache mit der Suche habe ich jetzt auch mit dem Hinweis hier im Thread in den Griff bekommen, aber ich habe bei einer Seite eine Auswahlliste, jedoch wird in der Suche der gewählte Begriff nicht erfasst. Konkret: Ich habe eine Bandliste erstellt und unter der Auswahlliste befindet sich die jeweilige Musikrichtung. Wenn ich bei einem Eintrag dort "Rock" gewählt habe und diesen Begriff später über die Suchfunktion suche werden mir die entsprechenden Einträge nicht aufgelistet.

Ist das nicht möglich oder mache ich etwas falsch?

Fragende Grüße
Cliff
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on October 27, 2015, 02:32:16 PM
hast du das hier gelesen? -> http://forum.WebsiteBaker.org/index.php/topic,27896.msg200540.html#msg200540

check mal, ob das bei dir zutrifft
Title: Re: Neues Modul "OneForAll"
Post by: cliff on October 27, 2015, 03:17:36 PM
Jupp, das habe ich gelesen und im Modul entsprechend meiner Namensgebung geändert. Seitdem findet er auch die Einträge in der "Bandliste", aber scheinbar durchsucht er nicht die Auswahlmöglichkeite n aus der Auswahlliste. Dort sind die verschiedenen Musikrichtungen kommagetrennt hinterlegt, so daß ich sie zu jeder Band entsprechend auswählen kann. Wenn ich jetzt aber nach einer speziellen Musikrichtung suche findet er diese nicht. Ansonsten durchsucht die Suche ordnungsgemäß alle Einträge, ob kurzer Text, WYSIWYG Editor oder anderem ...
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on October 27, 2015, 09:07:30 PM
Ciao Cliff

Standardmässig werden nur die Felder 'text', 'textarea', 'wysiwyg' durchsucht. Du kannst dies aber mit wenig Aufwand erweitern. Suche in der Datei search.php folgende Zeile (ca. 75):
Code: [Select]
WHERE `item_id` = '{$res['item_id']}' AND type IN ('text', 'textarea', 'wysiwyg')
und ersetze sie durch:
Code: [Select]
WHERE `item_id` = '{$res['item_id']}' AND type IN ('text', 'textarea', 'wysiwyg', 'select')
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: cliff on October 27, 2015, 09:59:48 PM
Hi freeSbee,

besten Dank für die prompte Hilfe und dieses Modul!!!

Werde ich morgen direkt mal ausprobieren :)

Abendliche Grüße
Cliff
Title: Re: Neues Modul "OneForAll"
Post by: cliff on October 28, 2015, 10:21:01 AM
Moin Moin,

das hat leider nicht geklappt ... Ich habe die entsprechende Zeile geändert, hochgeladen und danach die Seite mehrfach mit STRG und F5 aktualisiert, bzw. auch mehrere Browser ausprobiert. Die Suche greift nicht auf die Auswahlmöglichkeite n (Select-Feld)  :-(

Grübelnde Grüße  :-o
Cliff

EDIT: Ich habe mal in die Datenbank geschaut und wenn ich mich nicht irre, wird bei jedem Eintrag nicht die wörtliche Auswahl, sondern lediglich eine Zahl (also vermutlich die Position der Auswahlmöglichkeit) gespeichert. Somit kann die Suche auch nicht das Wort finden, sondern lediglich die Zahl, die in der Datenbank hinterlegt wurde. Wenn ich nun also z. Bsp. nach der Zahl 6 suche erscheinen alle Bands, bei denen die 6. Auswahlmöglichkeit eingetragen ist  :-o

Vermutlich muss ich dann nicht mit einem Auswahlverfahren, sondern mit einem Textfeld arbeiten ... Letztendlich nicht viel Mehraufwand  :lol:
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on October 28, 2015, 02:29:12 PM
Hallo Cliff

Leider ist es mir zu spät in den Sinn gekommen… Ja, du hast Recht - dein Grübeln hat sich gelohnt! Das war ursprünglich auch der Grund, wieso ich das "Select"-Feld nicht in die Suche aufgenommen hatte.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: cliff on October 28, 2015, 04:56:12 PM
Also richtig gebrübelt ... das ist ja schon mal etwas :D

Ich nutze jetzt das Textfeld und dann werden die Einträge auch gefunden  :-) Danke ...
Title: Re: Neues Modul "OneForAll"
Post by: cliff on November 03, 2015, 09:46:16 AM
Moin freeSbee,

ich hätte da dann doch noch mal eine Frage. Und zwar die URL Erstellung des Moduls zu jedem Eintrag (Item) ... wo finde ich diese und kann ich die Erstellung der URL dahingehend verändern, dass keine Bindestriche und Zahlen angefügt werden?

Neugierige Grüße
Cliff
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on November 03, 2015, 10:40:02 AM
Hallo Cliff

Damit der Dateiname mit Sicherheit nur einmal vorkommt, wird die item_id angehängt.
Du findest den Code in der Datei save_item.php, ca. Zeile 255 und 560.
Code: [Select]
$new_link = $filename.PAGE_SPACER.$item_id
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: cliff on November 09, 2015, 03:49:22 PM
Hallo,

ich hätte da noch einmal eine Frage: Wäre es möglich für dieses Modul so etwas wie anynews oder anytopics zu erstellen. Ich habe gerade mal einen Blick auf beide geworfen, bin aber doch abermals ratlos  :-o

Hoffende Grüße
Cliff
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on November 09, 2015, 06:36:52 PM
Hallo Cliff

Versuche es mit dem angehängten Snippet. Selbstverständlich musst du es an deine Gegebenheiten anpassen, damit du die gewünschten Daten ausgeben kannst.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 02, 2016, 11:35:47 AM
Gesundes Neues erstmal  :-)

Mir war so als ob es mal ein Thema gab wegen PNG, find es aber nicht...
Wenn man ein PNG hinzufügt wird ein Thumb als JPG erstellt. Das hat dann natürlich keinen transparenten Hintergrund.
Gab es da eine Lösung oder habe ich Settings übersehen?

Gruß dbs
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 02, 2016, 01:39:51 PM
das war wohl Bakery -> http://forum.WebsiteBaker.org/index.php/topic,28747.msg201370.html#msg201370

der Weg ist aber der gleiche
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 02, 2016, 04:18:04 PM
Hat scheinbar geklappt, danke. (Y)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 04, 2016, 11:49:27 AM
Moinsen,

habe versucht das Snippet topitems in ein Droplet zu quetschen. Klappt nicht so ganz.
[[ofa-topitems]] zeigt: ERROR: No module found for section id sid fehlt
[[ofa-topitems?sid=13]] zeigt: Fatal error: Call to a member function numRows() on a non-object in .../modules/oneforall_topitems/include.php on line 93

Zeilen 91 - 93
Code: [Select]
// Get labels of free definable fields from general settings
$query_general_settings = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_".$mod_name."_general_settings");
if ($query_general_settings->numRows() > 0) {

Diese General Settings gibt’s in der DB nicht. Finde ich auch nicht in der install.php von oneforall.


Droplet sieht so aus.
Code: [Select]
<?php
$sid 
= isset($sid) ? $sid 'sid fehlt';

ob_start();
if (
function_exists('oneforall_topitems')) {
oneforall_topitems($sid);
}
$topitems ob_get_contents();
ob_end_clean();

return 
$topitems;


Gruß dbs
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 04, 2016, 03:22:45 PM
Hallo dbs

Da hast du völlig Recht …
Hm, sieht so aus, als wäre das Snippet ursprünglich für das "Showcase"-Modul geschrieben und dann nicht vollständig für OneForAll angepasst worden. Ich werde mich dem annehmen …

Gruss Christoph


@Moderator badknight:
Bitte lösche in diesem Post (http://forum.WebsiteBaker.org/index.php/topic,27895.msg201861.html#msg201861) den Anhang oneforall_topitems_ 0.1.zip. Danke!
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 04, 2016, 03:56:30 PM
Danke, kann ich ja aufhören rumzutesten damit.  :-)
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 07, 2016, 05:46:37 PM
4 Modul Snippets für das Modul OneForAll:
http://forum.WebsiteBaker.org/index.php/topic,27895.msg202492.html#msg202492
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 08, 2016, 05:30:36 PM
Gibt es eine Möglichkeit die Reihenfolge der Felder (Eingabefelder) fürs Backend zu ändern?
Frontend ist klar (Seiteneinstellungen).

Beispiel: Hatte Felder für Bild (Datei aus Mediaordner) und LangText angelegt. Brauchte dann noch ein Kurztext, der aber über Langtext hinsoll. Damit der User die richtige Reihenfolge zum Ausfüllen hat.

Gehts?

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 08, 2016, 06:23:04 PM
Hallo Frank

Ja. In der Datenbank-Tabelle mod_oneforall_field s im Feld position die Reihenfolge manuell festlegen…

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 08, 2016, 06:36:35 PM
Jo, das klappt, danke.
Kommt bestümmt irgendwann noch eine benutzerfreundliche re Variante, hm?  :-)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 14, 2016, 07:20:08 AM
Moinsen,

da ich nun ein wenig mit den Snippets hantierte, kam der Wunsch auf nur ein einziges Snippet zu haben.
Dem Aufruf kann man dann Parameter mitgeben wie z.B. welches Ausgabeformat genommen werden soll. Ähnlich zu Anynews und den Templates. Damit man auf verschiedenen Seiten verschiedene Darstellungsmöglich keiten hat.

Im Moment habe ich mehrere Snippets kopiert, umbenannt und neuinstalliert um indivuelle Ausgaben auf verschiedenen Seiten zu haben.
Aber vielleicht gehts jetzt schon einfacher?

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 14, 2016, 09:42:06 AM
Andere Frage.
Wie kann man verhindern, dass im Mediaordner automatisch die img-Folder angelegt werden?
Wenn in den Seiteneinstellungen der Haken gesetzt ist bei "Bildeinstellungen und -Upload verstecken", dann brauchts die Ordner nicht.
Die Übersichtlichkeit im Mediaordner wäre mehr gegeben.

Hantiere gerade mit OneForAll um eine MP3-Übersicht mit Playern und Downloads darzustellen. Geht ja prima mit den Feldern für Upload und Datei aus Mediaverzeichnis.  (Y)
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 14, 2016, 12:48:26 PM
Hallo Frank

1.
Nebst deiner Lösung mit verschiedenen Modulnamen sehe ich folgende Möglichkeit. Das Snippet muss aber etwas umgeschrieben werden.

Die Templates werden aus der Datei include.php herausgenommen und in einem eigenen Verzeichnis mit dem Namen 1 in .htt Dateien mit beispielsweise den Namen header.htt, item_loop.htt und footer.htt verlegt.

Beispiel:
/templates/1/header.htt
/templates/1/item_loop.htt
/templates/1/footer.htt

/templates/2/header.htt
/templates/2/item_loop.htt
/templates/2/footer.htt

etc.

Die Funktion erhält nun einen weiteren Parameter, mit dem die Template-Nummer übergeben wird. Im Code sorgst du dann per require() dafür, dass die entsprechenden Template-Dateien eingebunden werden.


2.
Vorschlag (ungetestet): Ändere in der Datei save_item.php, ca Zeile 324 folgenden Code
Code: [Select]
// Try and make the directories
foreach ($directories as $directory) {
$directory_path = WB_PATH.MEDIA_DIRECTORY.'/'.$mod_name.$directory;
make_dir($directory_path);

// Add index.php files if not yet existing
if (!is_file($directory_path.'/index.php')) {
$content = ''.
"<?php

header
('Location: ../');

?>
";
$handle = fopen($directory_path.'/index.php', 'w');
fwrite($handle, $content);
fclose($handle);
change_mode($directory_path.'/index.php', 'file');
}
}

zu
Code: [Select]
// Try and make the directories
$img_section = $database->get_one("SELECT img_section FROM `".TABLE_PREFIX."mod_".$mod_name."_page_settings` WHERE section_id = '$section_id'");
if ($img_section) {
foreach ($directories as $directory) {
$directory_path = WB_PATH.MEDIA_DIRECTORY.'/'.$mod_name.$directory;
make_dir($directory_path);

// Add index.php files if not yet existing
if (!is_file($directory_path.'/index.php')) {
$content = ''.
"<?php

header('Location: ../');

?>
";
$handle = fopen($directory_path.'/index.php', 'w');
fwrite($handle, $content);
fclose($handle);
change_mode($directory_path.'/index.php', 'file');
}
}
}

Kannst du das mal testen und Rückmeldung geben?

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 14, 2016, 02:47:24 PM
@2. Media-Ordner
Der Haken in den Settings bewirkt eine 1 (sonst 0) in der DB. Deshalb funktioniert es mit deiner 2. Zeile z.B. so
Code: [Select]
if ($img_section == 0) {Problem gelöst.   (Y)


@1. Snippets, da muss ich mal in Ruhe probieren.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 14, 2016, 05:06:37 PM
Hallo Frank

Ja, klar. Es heisst ja "Bildeinstellungen und -Upload verstecken" und nicht "anzeigen". Danke für die Korrektur.

Zu beachten ist noch, dass es sich um eine Seiteneinstellung handelt. Dh. bei mehreren Seiten - genauer gesagt mehreren Sections - wird das Media-Verzeichnis nur dann weggelassen, wenn die Option "Bildeinstellungen und -Upload verstecken" für alle Sections des Moduls aktiviert ist.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 18, 2016, 09:25:15 AM
Hi Christoph,

kannst nochmal in das Snippet itemgroups schauen?
In Zeile 70 wird z.B. abgefragt nach type = 'group' , aber der type müsste eher 'select' sein.(?)
Damit erhalte ich schon mal keine Fehlermeldung mehr, allerdings ist die Ausgabe komplett leer (zeigt nur <ul> </ul>).
Für die Gruppe ist ein Eintrag drin. Könnte also noch ein Fehlerteufelchen unterwegs sein.

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 18, 2016, 10:35:58 AM
Glaube im Modul OneForAll modify.php Zeile 107 ist das auch mit type = 'group' ein Problem.
Mit 'select' wird der Gruppenname in der Übersicht der modify.php angezeigt.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 18, 2016, 12:24:30 PM
Salü Frank

Nein, es ist schon type = 'group'. Aber ich habe einen anderen Bug in OneForAll ItemGroup gefunden, der vor allem auftritt, wenn du im Backend beim Gruppen-Eingabefeld die Gruppennamen als CSV mit Abstand nach dem Komma eingibst, also
Code: [Select]
Gruppe 1, Gruppe 2, Gruppe 3anstatt
Code: [Select]
Gruppe 1,Gruppe 2,Gruppe 3
Bitte beachte die Beispiele, wie du den Funktionsaufruf machen musst:
http://forum.WebsiteBaker.org/index.php/topic,27895.msg201998.html#msg201998

Version 0.2 des Snippets OneForAll ItemGroup als Anhang.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 18, 2016, 12:51:33 PM
Sorry ... natürlich hatte ich um eine Gruppe zu erstellen NICHT das Feld Gruppe ausgewählt sondern Auswahlliste.  :-D :x
Von daher ist group natürlich richtig.

Und da ich nun $view_groups nicht mit der field_id angebe, sondern den Begriff reinschreibe, klappts damit auch.
Probleme erstmal gelöst. Leerzeichen in der Aufzählung waren allerdings nicht drin, wußte, dass explode auf die Kommata achtet. Trotzdem gut das mit abzufangen.

Danke dir  (Y)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 18, 2016, 03:00:46 PM
Da der Gruppenname mit [GROUP_NAME] statt [CUSTOM_CONTENT] funktioniert, wird er nicht in der Übersicht ausgelesen.
Richtig oder hab ich schon wieder was verfummelt?

Habe es in view_overview.php z402 hinzugefügt und scheint zu funktionieren:
Code: [Select]
} else {
$search   = array('[CUSTOM_LABEL]', '[CUSTOM_CONTENT]','[GROUP_NAME]');
$replace  = array($labels[$field_id], $values[$field_id], $group_names[$current_group]);

Aber ist es auch richtig so?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 19, 2016, 11:28:45 PM
Nochmal zu der Template-Geschichte ...
Quote
Die Funktion erhält nun einen weiteren Parameter, mit dem die Template-Nummer übergeben wird. Im Code sorgst du dann per require() dafür, dass die entsprechenden Template-Dateien eingebunden werden.

Hab jetzt was funktionierendes gefummelt, aber war sicher anders gemeint von dir.
In die drei .htt lagerte ich nur den HTML-Code aus.
In der include im Funktionsaufruf kam ein $template = 1 dazu.
Das Layout wurde ersetzt durch drei Zeilen in der Art:
ob_start(); require "templates/$template/header.htt"; $setting_header = ob_get_contents(); ob_end_clean();

Ist bestimmt nicht richtig, aber läuft. Wie macht mans?
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 20, 2016, 02:56:56 PM
Hallo Frank

Nimm besser die Funktion file_get_contents(), dann kannst du dir den ganzen Überbau mit ob_start() etc sparen. Falls im Verzeichnis /templates kein Template vorhanden ist, wird das Originaltemplate von include.php verwendet. $path brauchst du übrigens nur einmal zu definieren - vor dem ersten Aufruf von file_get_contents().

Vor den Templates:
Code: [Select]
$path = dirname(__FILE__);

Dann für jeden Teil des Templates (header, item_loop, footer etc) jeweils:
Code: [Select]
$setting_header = '<div id="mod_oneforall_topitems_wrapper">
<h2>OneForAll TopItems</h2>';

… ersetzen durch:
Code: [Select]
$setting_header = '<div id="mod_oneforall_topitems_wrapper">
<h2>OneForAll TopItems</h2>';
if (is_file($path.'/templates/'.$template.'/header.htt')) {
$setting_header = file_get_contents($path.'/templates/'.$template.'/header.htt');
}

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 20, 2016, 04:54:56 PM
Läuft!  (Y)

Danke dir. Mit dem Fallback ist natürlich eine gute Idee.
Dachte mir schon, dass das nicht mit ob_start gemacht wird, da ich das noch nie so irgendwo sah.
Problem gelöst.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 09, 2016, 08:30:48 PM
Hi, habe hier in 283 SP5 ein Problem mit OneForAll und der google_sitemap.php (v1.8.4 by Ruud)
Es fehlt in der Sitemap die zugehörige Seite. Das heißt alle Detailseiten der Items werden sofort nach /pages/ aufgelistet.
Grund ist wohl, dass in der DB in mod_oneforall_items das Feld "link" ausgelesen wird, wo nur der Dateiname des Items drin ist und die übergeordnete Seite damit unter den Tisch fällt.

Kann man das lösen?
Title: Re: Neues Modul "OneForAll"
Post by: Stefek on February 09, 2016, 09:39:21 PM
Kommt drauf an, Frank, wo Du das am laufen hast.

1. Ruud Christoph informieren, dass sich am Core etwas dahingehend ändert, dass seine Module an dieser Stelle brechen.

für Dich auf die Schnelle:

2. Du könntest in der Datenbank das feld `link`in `detail_link`ändern und im Modul jede Datenbank Abfrage wo

Code: [Select]
SELECT.... usw.... `link` ...
in diesem Zusammenhang vorkommt in

Code: [Select]
SELECT.... usw.... `detail_link`AS `link`...
ändern.
Dann müßte es laufen.
Teste einfach mal lokal.

Ich kenne das Modul nicht.

Ich verstehe auch nicht, was am Core verändert wurde, dass es passiert.

Nun, vielleicht gibts auch eine andere, bessere Möglichkeit es zu lösen, ohne das Modul anzufassen.

Stefek


P.S. falls Du den Weg gehen willst, ALLE modulbezogenen Queries müßen geändert werden wo das `link`jetzt drin ist, also auch UPDATE, CREATE etc.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 09, 2016, 11:07:11 PM
SP5 erwähnte ich nur der Vollständigkeit halber. Ob es damit was zu tun hat weiß ich nicht.
Ich kann leider nicht sagen ob es vorher funktionierte. Ist also eher eine grundsätzliche Frage.
Möglich auch, dass meine Abfrage in der google_sitemap.php nicht richtig ist (stimmt aber mit dem Beispielcode überein).

Code: [Select]
<?php // OneForAll ofa
if (in_array('oneforall'$modules)) {
$sql "SELECT `section_id`, `link`, `modified_when`
FROM `"
.TABLE_PREFIX."mod_oneforall_items`
WHERE `active` = '1'"
;
$rs_oneforall $database->query($sql);
if($rs_oneforall->numRows() > 0) {
while($oneforall $rs_oneforall->fetchRow()) {
if (!in_array($oneforall['section_id'], $public)) continue;
$checked check_link($oneforall['link'], $exclude);
if ($checked === true) {
$link    htmlspecialchars($wb->page_link($oneforall['link']));
$lastmod gmdate("Y-m-d"$oneforall['modified_when']+TIMEZONE);
output_xml($link$lastmod$oneforall_frequency$oneforall_priority);
$counter++;
}
else {
$debug_info[] = $checked;
}
}
}
}

Deinen Ansatz werde ich dann versuchen müssen, wenn sich hier nichts ergibt.
Besser keine Sitemap als eine fehlerhafte. Google findet eh alles selbst.
Title: Re: Neues Modul "OneForAll"
Post by: Stefek on February 09, 2016, 11:21:47 PM
Heißt es, beide Sections sind auf der selben Page?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 10, 2016, 07:12:47 AM
Moin, verstehe die Frage nicht ganz.
Die oneforall (ofa) Section befindet sich meistens an zweiter Stelle in einer Page. Erste ist dann Wysiwyg, welche meistens noch deaktiviert (abgelaufen) ist. Die wird dann per sectionpicker in den head von ofa geladen, damit der Wysiwyg nicht auf den Detailseiten erscheint.

Aber auch, wenn der wysiwyg nicht deaktiviert ist, erscheinen die Detailseiten nicht in der Sitemap. Theoretisch dürfte das bei Bakery genauso sein.

Frage könnte sein ob dieses $wb->page_link den kompletten Pfad liefern müsste und es nicht tut, oder wo der Pfad eigentlich herkommen soll.
Title: Re: Neues Modul "OneForAll"
Post by: Stefek on February 10, 2016, 03:23:59 PM
OK,

ich denke, ich kann Dir auf die Schnelle nicht helfen.

Übergehe das Handling einfach, das ich oben gepostet habe.
Ich denke, es gibt andere Gründe, warum das nicht werkt.

Ich bin anfangs davon ausgegangen, dass es zuvor lief und erst in der SP5 aufgetaucht ist.

Stefek
Title: Re: Neues Modul "OneForAll"
Post by: Ruud on February 10, 2016, 04:14:26 PM
I just published a new google_sitemap.php that supports oneforall.

http://www.dev4me.nl/modules-snippets/opensource/google-sitemap-xml/

If you renamed oneforall (or even use multiple renamed versions) you can set one line to tell the script to use it.

Code: [Select]
//default oneforall
$oneforall_mod_names = "oneforall";

// oneforall renamed to projects
$oneforall_mod_names = "projects";

//3 modules with different names
$oneforall_mod_names = "oneforall,projects,portfolio";

Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 10, 2016, 04:52:10 PM
WORKS!   (Y)
Have answered in the sitemap-thread.

Ok, dann war mein Problem hier im Modul-Thread wohl falsch angelegt.
Einfach gar nicht ignorieren.  :-)
Title: Re: Neues Modul "OneForAll"
Post by: sodjtala on February 21, 2016, 08:12:36 AM
Ich habe ein problem

Fatal error: Call to a member function numRows() on a non-object in /home/mojsvet/public_html/vrtnarija/modules/oneforall/view_overview.php on line 32

Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 21, 2016, 09:32:58 AM
Hi, außer dem Problem hast du scheinbar auch keine Zeit.  :wink:
Welche WB-Version, welche oneforall-Version, PHP-Version, noch andere Probleme mit WB?
Title: Re: Neues Modul "OneForAll"
Post by: sodjtala on February 21, 2016, 09:57:29 AM
wb 2.8.3 sp4
oneforall  0.8

Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 21, 2016, 12:53:03 PM
Fatal error: Call to a member function numRows() on a non-object in /home/mojsvet/public_html/vrtnarija/modules/oneforall/view_overview.php on line 32

bedeutet: das Ergebnis der Abfrage direkt vor Zeile 32 der genannten Datei ist "NICHTS" oder "NULL"

in einer der ersten Modulversionen, die ich hier zum reinschauen habe, wäre das diese Zeile

Code: [Select]
// Get page settings
$query_page_settings = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_".$mod_name."_page_settings` WHERE `section_id` = '$section_id'");

die einfach gesagt, bedeutet: suche alle Einträge aus der Tabelle mod_dein_Modulname_page_settings

entweder steht in deiner Tabelle nichts drin oder $mod_name kommt nicht an oder ist falsch
falsch im Sinne der SQL-Sprache: keine Umlaute, keine Leer- oder Sonderzeichen usw

P.S.: nur ein Verdacht.... wenn bei dir auf dem Server der Mysql-Strict-Mode läuft, ist es durchaus auch mal möglich, das die eine oder andere Tabelle garnicht erst erstellt wurde. Auch dann gäbe es obige Fehlerausgabe
Title: Re: Neues Modul "OneForAll"
Post by: zirzy on March 09, 2016, 01:59:17 PM
I just published a new google_sitemap.php that supports oneforall.

http://www.dev4me.nl/modules-snippets/opensource/google-sitemap-xml/

If you renamed oneforall (or even use multiple renamed versions) you can set one line to tell the script to use it.

Code: [Select]
//default oneforall
$oneforall_mod_names = "oneforall";

// oneforall renamed to projects
$oneforall_mod_names = "projects";

//3 modules with different names
$oneforall_mod_names = "oneforall,projects,portfolio";

Hi,

Search Console is detecting an error (file is not in supported format) with this google_sitemap.php file, why?

Mod: Sorry, this is not in eng thred..

-Zirzy


Title: Re: Neues Modul "OneForAll"
Post by: egnal on March 23, 2016, 11:14:43 AM
Kann es sein, dass beim Oneforall-Wysiwyg die Texteingabe beschränkt ist? Bei längeren Tabellen schneidet er einfach ab und/oder zerhackt das Layout.
Gruß und Danke für die Antwort.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on March 23, 2016, 03:43:01 PM
Hallo egnal

Kannst du mal überprüfen, ob diese längere HTML-Tabelle im WYSIWYG-Editor eines anderen Moduls (andere Section) problemlos gespeichert wird?

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: egnal on March 23, 2016, 04:48:37 PM
Hallo Christoph,
in einer anderen Box funktioniert es.
Ich teste gerade eine Installation: http://dev.4x4-offroadreifen.de/pages/umbereifung/chrysler-30.php (http://dev.4x4-offroadreifen.de/pages/umbereifung/chrysler-30.php)
Bei "Chrysler" http://dev.4x4-offroadreifen.de/pages/umbereifung/chrysler-30.php (http://dev.4x4-offroadreifen.de/pages/umbereifung/chrysler-30.php) ist der Fehler.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on March 23, 2016, 07:32:44 PM
Hallo egnal

Das liegt nicht am Modul OneForAll noch am WYSIWYG-Editor. Es gibt Fehler im Aufbau des Templates, die dein Seitenlayout durcheinander bringen.
Ansatzpunkt: Als erstes würde ich mir die float: left; in deinem CSS-Code mal vorknöpfen.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: egnal on March 24, 2016, 07:42:03 PM
Hallo Christoph
Danke für die Info.
Nun kommt eine weitere Ungereimtheit hinzu: Die Reihenfolge bei der Gruppe stimmt auf einmal nicht mehr.
http://dev.4x4-offroadreifen.de/pages/umbereifung.php (http://dev.4x4-offroadreifen.de/pages/umbereifung.php)
Chrysler müsste hinter Chevrolet stehen - hat sich aber nach oben gemogelt - wie auch immer.
Habe nichts an der OFA-Datei geändert.

P.S. Vielleicht kann man ja zukünftig der Gruppe eine eigene Variable geben (GROUP_TITEL)? Könnte man gut auf der Infoseite einsetzen.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on March 25, 2016, 08:36:04 PM
Hallo egnal

Wenn du etwas mehr Informationen gibst, kann ich das Fehlverhalten ev. nachvollziehen:
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on May 11, 2016, 06:46:00 PM
Hallo,

hatte eben den Fall, dass von 10 Thumbs ein einziges größer dargestellt war als alle anderen.
Unterschied war, dass dieser Thumb keine  class='mod_".$mod_name."_item_thumb_f' hatte in der Ausgabe.
Einzige Ursache konnte nur sein, dass title und alt des Bildes ein Hochkomma enthielten. Alle anderen Thumbs hatten dort normale Zeichen.

Was macht der copy&paster nun? Er probiert wild rum und landet bei htmlspecialchars +  ENT_QUOTES  und setzt das drumrum in
view_item.php Zeile 296 ff
Code: [Select]
$img_alt     = htmlspecialchars($image['alt'],ENT_QUOTES);
$img_title   = htmlspecialchars($image['title'],ENT_QUOTES);
$img_caption = htmlspecialchars($image['caption'],ENT_QUOTES);

Ok so, Nebenwirkungen? Wirkt jedenfalls.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on May 16, 2016, 08:27:11 PM
Hallo Christoph,

gibt’s irgendwie die Möglichkeit die Items und Settings aus einem ofa-Modul in ein anderes, umbenanntes zu bekommen?

Irgendwas ist beim Anlegen lokal (PHP5.5, SP6) nicht richtig gelaufen, so dass die Items bzw. die Module nicht von der google_sitemap.php erkannt werden. Beide angelegten Module (thi_hunde_ofa, team_ofa) funktionieren zwar, aber die google_sitemap zeigt sie nicht, obwohl da eingetragen.

Nach Umzug zu online (PHP5.6) und Testinstallationen von verschieden umbenannten ofas (mit Binde-, Unterstrich, Leerzeichen) gibt es keine Probleme in der sitemap. Ich verstehe es nicht...

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on May 17, 2016, 10:29:03 AM
Hallo Frank

Exportiere die entsprechenden Tabellen aus der Datenbank, benenne sie um und importiere sie in die Zieldatenbank:
Bsp. Tabellen-Name:   [TABLE_PREFIX]_mod_[OFA_MODULE_NAME]_items

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on October 13, 2016, 12:07:53 PM
Neue OneForAll Version:

VERSION 0.9.4 (12.10.2016)


HERZLICHEN DANK
für die grosse Mithilfe und Unterstützung an jacobi22 (http://forum.WebsiteBaker.org/index.php?action=profile;u=122048) und dbs (http://forum.WebsiteBaker.org/index.php?action=profile;u=9461).

WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://www.WebsiteBaker.org/forum/index.php/topic,27895.msg193991.html#msg193991) und diesem Post (http://forum.WebsiteBaker.org/index.php/topic,27895.msg207033.html#msg207033).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on October 28, 2016, 02:26:48 PM

Neue OneForAll Version:

VERSION 0.9.5 (28.10.2016)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg207272.html#msg207272).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 06, 2016, 05:47:13 PM
Hallo Christoph,

Versuch mal ein Bild (größer 1MB) ohne resize mit plupload hochzuladen und speichere dann die Seite.
Das Bild wird nun 2x zu sehen sein. In der DB steht es auch 2x mit gleicher id und filename.

Merkwürdige Sache.
Ich hab nun leider gerade versucht die chunk_size auf 1kb (in modify_item) zu setzen und hatte 'Millionen' Einträge in der DB. :-)

Gruß Frank
Title: Re: Neues Modul "OneForAll"
Post by: Ruud on December 06, 2016, 11:15:21 PM
I had the same problem this afternoon.

The fix is to add the following lines in /modules/{one4all}/ajax/upload.php  after line 264 (the check for all chunks received)
Code: [Select]
if($chunks && $chunk < $chunks - 1) {
die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');
}

Now you can also allow uploads of 5Mb or more.. (the typical camera output)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 06, 2016, 11:36:35 PM
Hi Ruud, tested and it works here.  (Y)
Thanks for the solution.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 07, 2016, 10:28:45 AM
Kann es sein, dass es in 0.9.9 mit "Datei aus Unterverzeichnis von Media" ein Problem gibt?
Code: [Select]
[E_NOTICE] /modules/oneforall/modify_item.php:[654] from /modules/oneforall/modify_item.php:[654] WbErrorHandler "Undefined variable: image_file"

Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on December 07, 2016, 05:23:18 PM
Danke Frank für deinen Käfer-Bericht.
Thanks for the fix, Ruud.

Ich warte noch etwas ab bis zur Veröffentlichung von OFA v1.0.0 …

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 09, 2016, 10:04:04 AM
Morgen,

hab gerade ein lokales Problem das Modul als Zip zu installieren, deshalb ein manueller Versuch über
Erweiterungen > Module > Erweitert > install
Das geht aber nicht, weil der Modulordner in /modules gefunden wird. Aber da muss er ja sein um manuell zu installieren.
Wie tricks ich den aus?
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on December 09, 2016, 10:58:09 AM
Hallo Frank

OFA geht davon aus, dass der Modulordner stets "oneforall" heisst und benennt ihn während der Installation selber entsprechend dem in der info.php definierten Modulnamen um.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 09, 2016, 11:10:08 AM
Hallo Christoph,

hatte ein umbenanntes Modul online laufen. Mit AddonFileEditor gezippt und runtergeladen.
Lokal ging dann normale Installation nicht. Hab ich sicherlich vermurkst.
Also das Zip entpackt und in /modules geschoben. Nun über Erweiterungen > Module > Erweitert versucht zu installieren.
Geht nicht sagt das Modul, weil es seinen eigen Ordner findet. install.php ab z31 (// Old and new directory pathes) checkt das.
Hier hilft nur den ganzen Block ab z31 auszukommentieren.
Title: Re: Neues Modul "OneForAll"
Post by: CodeALot on December 27, 2016, 04:15:23 PM
Version 0.99 - Plupload will not let me even select images larger than 2 Mb. Can't find where this limit is set. Does anyone know?

Edit - Found it. It's in /modules/oneforall/modify_item.php  (line 570)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 27, 2016, 04:22:14 PM
Hi, in the module-folder is a config.php. The last entry is your friend. :-)
Title: Re: Neues Modul "OneForAll"
Post by: CodeALot on December 27, 2016, 04:27:11 PM
Hi, in the module-folder is a config.php. The last entry is your friend. :-)

Those entries are about resizing the images. They do not control the maximum filesize for plupload... Thanks anyway, but I found it in modify_item already :-)
Title: Re: Neues Modul "OneForAll"
Post by: dbs on December 27, 2016, 04:30:58 PM
My fault, i have the v1.0 for testing.
There is in config.php this:
Code: [Select]
// For item images set image resize default values (modify item)
$img_resize['imgresize'] = '';  // yes = selected by default
$img_resize['quality']   = 75;
$img_resize['maxwidth']  = 400;
$img_resize['maxheight'] = 300;

// Plupload max file size in MB
$max_file_size           = 2;

Now you know what you can do in near future. ;-)
Title: Re: Neues Modul "OneForAll"
Post by: CodeALot on December 27, 2016, 04:32:43 PM
My fault, i have the v1.0 for testing.

Oy! Can't wait :-)
Title: Re: Neues Modul "OneForAll"
Post by: flipoflip on January 04, 2017, 05:29:32 PM
Hallo zusammen,
zunächst einmal herzlichen Dank an die Entwickler des Moduls.

Ich habe versucht das Modul mehrmals auf einer Seite einzubinden (je mit einem anderen Namen - neu installiert). Dabei ist mir aufgefallen das die Ausgabe der einzelnen Felder durcheinander gerät.

Konkret möchte ich das Modul dazu nutzen verschiedene Abschnitte als responsive-Grid darzustellen. 1 Abschnitt mit Bildern, Mouseover, komplexeren Funktionen etc. Den anderen Abschnitt als reine Textabschnitte mit unterschiedlichen Breiten. Der erste Abschnitt wurde korrekt dargestellt, der 2 war immer zerschossen.

Nach einigem probieren habe ich es hinbekommen indem ich in der letzten Zeile der view_overview.php (je Installation) ein unset($field_placeholders_name); hinzugefügt habe.

Modulversion v0.9.4 in WBCE v1.1.6

Vielleicht hilft der Tipp dem ein oder anderen weiter.

Grüße FlipoFlip

Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 05, 2017, 09:02:15 AM
Hallo FlipoFlip

Danke für den Hinweis.
Ich werde es mir ansehen und in der nächsten Version berücksichtigen!

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: gottfried on January 05, 2017, 09:38:31 AM
Hallo!

Ich will das OneForAll gerade ausprobieren. Wie bekomme ich da die Bilder rein? Sogar wenn ich die in die Ordner per FTP kopiere, findet es jkeine.
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 05, 2017, 10:18:04 AM
in jedem Item unten ist der Bilderdialog. Dort das Bild hochladen und ggf Title und alt eintragen. Für jedes Modul und auch umbenannte Modulversion wird beim Install ein Unterorner mit Modulnamen unter media angelegt und dort bekommt wiederum jedes Item einen eigenen Ordner

Oder meinst du etwas anderes?
Title: Re: Neues Modul "OneForAll"
Post by: gottfried on January 05, 2017, 01:17:55 PM
Hallo jacobi!

Ich hab nun kapiert, daß der Punkt 3 Dateien übertragen vor dem Punkt 2 Eintrag Bilder kommt.  :-)

Ich steh wohl wieder mal bißchen auf dem Schlauch. Gibt es ein gutes Beispiel bzw fertige Seite an der man sehen kann, zu was das Teil gut ist oder was es kann?  :?

(Dieses "Dateien übertragen" kommt mir fast gelegen für den kaum mehr zu benutzenden Flashupload meiner Foldergallery   :-D)

Title: Re: Neues Modul "OneForAll"
Post by: flipoflip on January 05, 2017, 02:10:14 PM
Hallo FlipoFlip

Danke für den Hinweis.
Ich werde es mir ansehen und in der nächsten Version berücksichtigen!

Gruss Christoph

Hallo Christoph, kein Problem, falls du dazu noch Infos benötigst einfach melden
Title: Re: Neues Modul "OneForAll"
Post by: flipoflip on January 05, 2017, 04:20:34 PM
Hallo Christoph,
bei der Verwendung von 2 Installationen auf einer Seite ist mir noch etwas aufgefallen.

Im Backend geht die Möglichkeit des Sortierens der Einträge verloren. Lediglich der letzte auf der Seite befindliche Eintrag lässt sich noch sortieren (Pfeilsymbole rechts). Die Sortierung per Drag & Drop funktioniert zwar noch (wird also angezeigt und auch mit dem Meldungsfenster bestätigt), wird aber nicht gespeichert.

Grüße
FlipoFlip
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 10, 2017, 11:19:15 AM
Hallo flipoflip

Das Modul OneForAll sowie dessen umbenannten Geschwister wurde von Anfang an so konzipiert, dass es nur einmal auf einer Seite eingebunden werden kann. In deinem Anwendungsfall gibt es nicht nur im Frontend Probleme, welche du gelöst hast, sondern vor allem auch im Backend. Hier vor allem auf Grund der für jQuery verwendeten IDs, die durch die mehrfache Einbindung des Moduls nicht mehr eindeutig sind.

Mit etwas Fleiss ist es jedoch möglich, alle im Backend verwendeten Namen von IDs und Klassen so umzuwandeln, dass anstatt mod_oneforall_[…] der Name des umbenannten Moduls mod_neuername_[…] verwendet wird und damit Konflikte vermieden werden. Bitte denk daran, dass dies sowohl in den CSS- und JS-Dateien wie auch im ausgegebenen HTML-Code umgesetzt werden muss.

Bsp:
Code: [Select]
mod_oneforall_modify_b  =>  mod_neuername_modify_b
Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 10, 2017, 06:48:12 PM

Neue Umfrage:
Wie viele OneForAll Sections benutzt du normalerweise auf einer Seite?
Gib deine Stimme hier ab: http://forum.WebsiteBaker.org/index.php/topic,27895.0.html

Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 10, 2017, 09:40:04 PM
Ist das die richtige Frage, wenn doch mehrere Sections gar nicht problemlos benutzt werden können?
Ich müsste 1 schreiben, obwohl ich gern die Möglichkeit hätte mehrere zu verwenden.  :-)
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 10, 2017, 10:07:28 PM
Hallo Frank

Es geht weniger ums "Nice to have" sondern darum, ob diese Möglichkeit auch wirklich von einer Mehrheit genutzt würde. Ich gehe davon aus, dass nur die wenigsten 2 oder mehr OneForAll Sections pro Seite einbinden und damit lohnt sich der Aufwand nicht. Mit der Umfrage möchte ich herausfinden, wie die Situation wirklich ist.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 11, 2017, 12:51:25 PM
ich bin da bei dbs - wer ofa bisher mehrfach auf einer Seite / einer Page eingesetzt hat, mußte es notgedrungen manipulieren und wenn das die Frage ist, werden nicht viele Antworten zusammen kommen

Stellt man die Frage anders und fragt, wie viele würden es denn mehrfach pro Page verwenden, wenn es denn problemlos ginge, sieht die Antwort und wohl auch die Beteiligung anders aus

in Variante 1 (http://forum.WebsiteBaker.org/index.php/topic,27895.0.html) muß ich mit Antwort 1 (nur eine Section pro Seite) antworten, weil sich für mich der Aufwand nicht lohnt, das so umzustricken, um es dann im nächsten Upgrade wieder zu verlieren. Dafür bin ich zu Upgrade-freudig.

Würde ich es mehrfach einsetzen, wenn es denn problemlos ginge? Eindeutig JA



Title: Re: Neues Modul "OneForAll"
Post by: astricia on January 11, 2017, 02:24:34 PM
Ich setze OFA bei meinem aktuellen Projekt überhaupt erst das erste Mal ein - aber ich frage mich schon die ganze Zeit, wie ich solange darauf verzichten konnte. :-D

Auf dieser Website nutze ich insgesamt 5 OFA-Installationen. Teilweise sind auch verschiedene gemeinsam auf einer Seite - das habe ich dann so gelöst, dass ich die Eingabe auf separate, versteckte Seiten habe und den Aufruf auf der jeweiligen Seite mit einer Variante von TopItems, AnyItems oder AllItems - hiervon nutze ich insgesamt 6 Variationen...

Von daher - ein eindeutiges JA zur Mehrfachnutzung. Bin mir sicher, dass Projekte mit diesen Anforderungen immer häufiger vorkommen werden...

LG,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 14, 2017, 06:57:53 PM

Neue OneForAll Version:

VERSION 1.0.0 (14.01.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg208617.html#msg208617).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: flipoflip on January 16, 2017, 01:04:42 PM
Danke für die zügige Umsetzung der "Mehr-Section-Fähigkeit, das ist super!
Ich denke damit hast du auch anderen Benutzern eine Freude gemacht.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 16, 2017, 01:55:41 PM
Ja. Multi-Section ist nicht schlecht.  (Y)
Bekomme da aber die id wrapper mehrfach, oder?
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 16, 2017, 02:02:44 PM
häng die Section_id an die ID = wrapper, hab ich bei den diversen Bildergalerien auch immer mit Erfolg gemacht. Etwaige CSS-Definitionen auf die ID wäre auf eine Klasse anzupassen
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 16, 2017, 02:54:31 PM
Hallo Frank

Ja. Multi-Section ist nicht schlecht.  (Y)
Bekomme da aber die id wrapper mehrfach, oder?

Nein, alle id und class Attribute des Frontends waren schon zuvor eindeutig, da sie den Modulnamen enthalten. In der v1.0.0 wurde dieses Prinzip nun auch auf das Backend übertragen, damit sich vor allem die JS der verschiedenen, umbenannten OneForAll-Module nicht in die Quere kommen.

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 16, 2017, 03:24:29 PM
Hallo Christoph,

gemeint war mehrere Sections vom gleichen Modul. Da würden die Wrapper dann die gleichen IDs haben.
Vielleicht macht man sowas auch gar nicht.  :-)

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 16, 2017, 03:37:14 PM
PHP wird strenger - ab Version 7.1 folgende Notice wegen undefinierter Variable $image_file

Quote
[E_NOTICE] \\modules\\oneforall\\modify_item.php:[654] from \\modules\\oneforall\\modify_item.php:[654] WbErrorHandler \"Undefined variable: image_file\"

bitte in nächster Version $image_file leer definieren vor Gebrauch
Ich hab das jetzt in den PHP-Block um Zeile 421 gemacht mit

Code: [Select]
$image_file = '';
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 16, 2017, 03:46:52 PM
@dbs
Ich sehe da auch gerade keine sinnvolle Anwendung. Doch sollte es trotzdem einmal der Fall sein, gilt:
häng die Section_id an die ID = wrapper, hab ich bei den diversen Bildergalerien auch immer mit Erfolg gemacht. Etwaige CSS-Definitionen auf die ID wäre auf eine Klasse anzupassen

@jacobi22
Ich hab's gefixt. Danke fürs genaue Testen!

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 16, 2017, 05:39:39 PM
neues Problem nach Upgrade der Vers 0.9.9 auf Vers 1.0

die Seitenstruktur scheint wichtig zu sein, darum kurz der Aufbau bei mir
- drei-sprachiges Projekt, DE, EN, RU
- ich verwende aktuell 4 einzelne OFA's, die nach dem Muster "Neuigkeiten OFA" oder "Ausstellungen OFA" in der info.php umbenannt wurden
- alle 4  OFA's sitzen als zweite Sektion auf einer Seite im Hauptverzeichnis der jeweiligen Sprache, erste Section ist ein Wysiwyg
- alle 4 OFA's waren vorher Version 0.9.9., Seiten alle erreichbar bis zum Upgrade
- die config.php von OFA Vers 1.0 wurde vor dem Upgrade nicht verändert, Die 0.9.9er-Versionen liefen zeitweise mit eigenen Unterseiten, dies wurde aber später abgestellt, weil mein Konzept so nicht umsetzbar war, d.h. für einige Items gab es Unterseiten, für andere nicht
- lokale Installation mit WB 2.8.3 SP7 + Patch und PHP 7.1

Im Seiten-Verzeichnis / pages / DE habe ich die Access-Files der Unterseiten "Neuigkeiten" oder Ausstellung, also z.B. neuigkeiten.php
Inhalt dieser datei vor dem Upgrade:

Code: [Select]
<?php
// *** This file is generated by WebsiteBaker Ver.2.8.3
// *** Creation date: 2017-01-15T14:53:50+00:00
// *** Do not modify this file manually
// *** WB will rebuild this file from time to time!!
// *************************************************
        
$page_id    72;
        require(
'../../index.php');
// *************************************************

Beim Upgrade wird diese Datei umgeschrieben, neuer Inhalt ist nun

Code: [Select]
<?php
$page_id    
72;
$section_id 137;
$item_id    4;
$item_sid   137;
define("ITEM_ID",  $item_id);
define("ITEM_SID"$item_sid);
require(
"../../../config.php");
require(
WB_PATH."/index.php");

man beachte den Pfad zur angeforderten config.php von WB und vergleiche mit dem Pfad der alten Version, das macht eine Ebene mehr

Frage: warum wird das WB-Access-File geändert? Obiger Code stammt eigentlich aus einer der OFA-Unterseiten

Habe mit dbs das Problem versucht nachzustellen, bei ihm war das OFA aber auf einer Seite eine Ebene tiefer, so das der Pfad zur config.php zufällig passte. Darum meine Vermutung, das die Seitenstruktur zur Fehler-Reproduktion wichtig ist.

Zu Testzwecken habe ich die Versionsnummer in der Datenbank Tabelle "addon" und in der info.php des Moduls wieder auf 0.9.9. geändert, um ein neues Upgrade durchführen zu können. Weiterhin habe ich die alten Unterseiten, die nicht mehr benötigt werden, entfernt

hier das gesamte Upgrade-Protokoll als Grafik -> https://i.gyazo.com/8ffa68fed374990adbaa9124a95204a2.png


Ein P.S.: Ab SP7 + Patch gibt es über das Infofenster im Backend die Funktion "Rebuild Acess Files" - die alle Access-Files neu erstellt, die in der pages-Tabelle hinterlegt sind. Diese funktion würde meine umgeschriebene datei wieder reparieren
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 16, 2017, 06:09:51 PM
Hallo Uwe

Danke für deine exakte und ausführliche Rückmeldung. Auf die Schnelle kann ich bestätigen, dass nur die moduleigenen Access-Files geändert werden dürften. Die Access-Files der WB-Seiten dürfen nicht angetastet werden. Ich werde es mir ansehen …

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 16, 2017, 06:51:34 PM
Hallo Uwe

In deinem Upgrade-Protokoll (letzter Schritt: «Upgrade all module access files and add …») fällt auf, dass für die 4 betroffenen Access-Files in der DB keine Dateinamen gefunden wurden. Dies führte vermutlich zum ungünstigen Fall, dass anstatt der Modul Access-Files das Access-File der Seite (page_link + .php) gelöscht und neu erstellt wurde.

Normalerweise müsste das Protokoll so aussehen:

Deleted old access file "/eintrag-1-1.php" successfully.
Created new access file "/eintrag-1-1.php" successfully.

Deleted old access file "/eintrag-2-2.php" successfully.
Created new access file "/eintrag-2-2.php" successfully.

Deleted old access file "/eintrag-3-3.php" successfully.
Created new access file "/eintrag-3-3.php" successfully.


Bitte führe in phpMyAdmin folgende Abfrage aus (ersetze "oneforall" 2x durch den Namen deines betroffenen OFA-Moduls):
Code: [Select]
SELECT i.item_id, i.section_id, i.link AS item_link, p.page_id, p.link AS page_link
FROM `wb_mod_oneforall_items` i
INNER JOIN `wb_sections` s
ON i.section_id = s.section_id
INNER JOIN `wb_pages` p
ON s.page_id = p.page_id
WHERE s.module = 'oneforall';

Danke und Gruss
Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 16, 2017, 07:16:48 PM
Ergebnis der Abfrage

(https://i.gyazo.com/e733c8dda9f4ca0d69e66f8518edf949.png)

beim erstem Item war $view_detail_pages = true;

nun $view_detail_pages = false;

andere Sache: aus der Konsole im Backend in der Übersicht
Quote
ReferenceError: mod_oneforall is not defined -    

table_sort.js (Zeile 215, Spalte 25)

Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 16, 2017, 10:46:00 PM

Neue OneForAll Version:

VERSION 1.0.1 (16.01.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg208655.html#msg208655).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 16, 2017, 11:59:44 PM
nur der Hinweis: Versionsnummer ist nicht hochgesetzt in der info.php
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 17, 2017, 01:02:52 AM
eventuell die upgrade.php im Paket vergessen? die ist noch vom 14.01.2016


Problem ist, das er aus der pages-Tabelle den Link ausliest (bei mir z.b. /de/baumassnahmen) und aus der ...items beim Link nix, es bleibt aus der Definition von $access_file aber die Dateiendung über und das macht zusammen dann den $full_path, der genau zum Accessfile der Hauptdatei passt (.../de/baumassnahmen.php)

ich hab bei mir in der upgrade.php jetzt eine Abfrage eingebaut, ob in der Tabelle ... items Unterseiten eingetragen wurden, sind keine vorhanden, wird auch das Accessfile nicht gelöscht

Für den nächsten Teil die gleiche Abfrage, die Access-Files der Unterseiten schreibt er nur, wenn auch Links dazu vorhanden sind. Die erste Abfrage zum Löschen könnt man noch etwas anpassen, in dem man den else-Teil noch etwas differenziert, so das für den Fall, das ohne Unterseiten gearbeitet wurde, eine andere Meldung kommt als die vorhandene

Das Protokoll schaut aktuell so aus

(https://i.gyazo.com/28234a713bd4f7ee56be301ee2db5d5e.png)

der relevante Code der upgrade.php der while-Schleife ab Zeile 394

Code: [Select]
while ($item = $query_items->fetchRow()) {

                        // Item data from db
                        $item_id    = $item['item_id'];
                        $section_id = $item['section_id'];
                        $item_link  = $item['item_link'];
                        $page_id    = $item['page_id'];
                        $page_link  = $item['page_link'];

                        // Access file name and full path to the access file
                        $access_file = ( $item_link !='') ? $item_link.PAGE_EXTENSION : '';
                        $full_path   = WB_PATH.PAGES_DIRECTORY.$page_link.$access_file;

                        // Delete existing access file
                        if (is_writable($full_path) && $access_file != '') {
                                unlink($full_path);
                                echo '<span class="good">Deleted old access file &quot;'.$access_file.'&quot; successfully.</span><br>';
                        } else {
                                echo '<span class="bad">Could not delete old access file &quot;'.$access_file.'&quot;.</span><br>';
                        }

                        if($access_file !=''){
                        // The depth of the page directory in the directory hierarchy
                        // 'PAGES_DIRECTORY' is at depth 1
                        $pages_dir_depth = count(explode('/', $page_link))-1;
                        // Work-out how many ../'s we need to get to the index page
                        $index_location = '../';
                        for ($i = 0; $i < $pages_dir_depth; $i++) {
                                $index_location .= '../';
                        }

                        // Create new access file
                        $content = ''.
'<?php
$page_id    
'.$page_id.';
$section_id '.$section_id.';
$item_id    '.$item_id.';
$item_sid   '.$section_id.';
define("ITEM_ID",  $item_id);
define("ITEM_SID"$item_sid);
require(
"'.$index_location.'config.php");
require(
WB_PATH."/index.php");
?>
';
                        if ($handle = fopen($full_path, 'w')) {
                                fwrite($handle, $content);
                                fclose($handle);
                                change_mode($full_path);
                                echo ' <span class="good">Created new access file &quot;'.$access_file.'&quot; successfully.</span><br><br>';
                                $count_files++;
                        } else {
                                echo '<span class="bad">Could not create new access file &quot;'.$access_file.'&quot;.</span><br><br>';
                                $error++;
                        }
                        }else {
                                echo '<span class="bad">You dont use detail pages for this Item</span><br><br>';

                        }
                }

Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 17, 2017, 01:19:39 AM
hier noch die "Gegenprobe" bei vorhandenen Unterseiten

(https://i.gyazo.com/0136f4c7542c44f79a8d115c64c7bb73.png)
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 17, 2017, 09:11:42 AM

Neue OneForAll Version:

VERSION 1.0.2 (17.01.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg208660.html#msg208660).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: Riconico on January 17, 2017, 11:04:49 AM
Hallo

so jetzt habe ich mich hier in über 7 Seiten eingelesen finde trotzdem keine antwort wie ich das richtig einbinde.

Nach installation und anlegen einer seite als OFA kann ich nur auf eintrag hinzufügen drücken und dann werde ich auf die nächste seite geleitet wo ich Name (aktiv oder inaktiv) wählen kann. Beschreibung und unten Fotos hochladen kann.

ich habe leider bisher nicht rausfinden können wo oder wie ich andere Felder oder so hinzufüge.
nach anlegen einer seite bekomme ich im Forntend eine beschreibung in Englisch aber irgendwie steige ich da nicht durch.

kann mir das vielleicht mal einer in kurzen stichpunkten erklären?

Danke Gruss Nico
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 17, 2017, 11:21:20 AM
Hallo Nico

Felder kannst du nur anlegen, wenn du als Admin mit der id = 1 eingeloggt bist. Falls du das ändern möchtest, kannst du dies in der Datei config.php tun. Ändere den ersten Eintrag zu:
Code: [Select]
// Display settings to admin only (user_id = 1)
$settings_admin_only = false;

Gruss Christoph
Title: Re: Neues Modul "OneForAll"
Post by: Riconico on January 17, 2017, 11:23:06 AM
Ohman da hätte ich auch selbst drauf kommen können :)

Danke für die Info
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 22, 2017, 07:31:37 PM

Neue OneForAll Version:

VERSION 1.0.3 (22.01.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg208796.html#msg208796).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 25, 2017, 08:06:38 PM
view.php

wird ofa in mehr als einer Section pro Seite eingesetzt, kann die untenstehende Abfrage nur einen Teil bedienen, entweder eine item-ID ist da oder sie ist nicht da. Hat man in einer der Sectionen die Detailansicht geöffnet, in der zweiten die Übersicht, kann nur die zuerst bearbeitete bzw angezeigte Section das schließende Wrapper-Div bekommen, für die zweite Section bleibt dann aber ein offener Wrapper zurück und im Code fehlt ein schließendes div

Abhilfe: Zeile 61 in der view.php entfernen und jeweils unten vor dem include einfügen

Code: [Select]
<?php  // for colored code only
// SHOW OVERVIEW PAGE
// ******************

if (!defined('ITEM_ID') OR !is_numeric(ITEM_ID)) {
        echo 
"\n<div id='mod_".$mod_name."_wrapper_f'>\n";
        include(
'view_overview.php');
        echo 
"<!-- comment Wrapper page end-->\n";
        echo 
$end_of_wrapper;  // End of oneforall wrapper
}



// SHOW ITEM DETAIL PAGE
// *********************

if (defined('ITEM_ID') AND is_numeric(ITEM_ID) AND defined('ITEM_SID') AND $section_id == ITEM_SID) {
        echo 
"\n<div id='mod_".$mod_name."_wrapper_f'>\n";
        include(
'view_item.php');
        echo 
"<!-- comment Wrapper item end-->\n";
        echo 
$end_of_wrapper;  // End of oneforall wrapper
}

Comments in den Ausgaben zur Fehleranalyse erweitert
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 25, 2017, 10:51:49 PM
Gleich noch was hinterher, kam in anderen Postings schon mal zur Sprache

eine ID sollte immer nur einmal pro Seite verwendet werden, daher sollte die ID für den Wrapper mit einer eindeutigen, einmaligen Zuordnung erweitert werden, z.b. der $section_id.
(Zu prüfen wäre, ob die ID irgendwo als Selector verwendet wird, z.b. frontend.css)

Quote
echo "\n<div id='mod_".$mod_name."_wrapper_f_".$section_id."'>\n";

der geänderte Code in der view.php (Zeile 61 wurde entfernt)

Code: [Select]
<?php  // for colored code only
// SHOW OVERVIEW PAGE
// ******************

if (!defined('ITEM_ID') OR !is_numeric(ITEM_ID)) {
        echo 
"\n<div id='mod_".$mod_name."_wrapper_f_".$section_id."'>\n";
        include(
'view_overview.php');
        echo 
"<!-- end ".$mod_name."_wrapper_f Sec:".$section_id." page -->\n";
        echo 
$end_of_wrapper;  // End of oneforall wrapper
}



// SHOW ITEM DETAIL PAGE
// *********************

if (defined('ITEM_ID') AND is_numeric(ITEM_ID) AND defined('ITEM_SID') AND $section_id == ITEM_SID) {
        echo 
"\n<div id='mod_".$mod_name."_wrapper_f_".$section_id."'>\n";
        include(
'view_item.php');
        echo 
"<!-- end ".$mod_name."_wrapper_f Sec: ".$section_id." item-->\n";
        echo 
$end_of_wrapper;  // End of oneforall wrapper
}
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on January 26, 2017, 01:20:09 PM
view.php

Hat man in einer der Sectionen die Detailansicht geöffnet, in der zweiten die Übersicht,.......

muß ich mal für alle noch richtig stellen diese Worte, da gab es wohl Mißverständnisse  :wink:

Wurde eine Detailseite angewählt, erscheint auch nur diese Detailseite, also nicht noch der andere Content der Seite, wie mein Satz oben vielleicht vermuten läßt.
Da die Wrapper-Divs aber vor dem Schalter zur Detailansicht geöffnet werden, bleibt auf der Detailseite ein geöffnetes Div von der zweiten Section zurück, das nicht mehr geschlossen werden kann.

Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 26, 2017, 02:53:47 PM
Kann ich so bestätigen.

Bei einer Webseite von mir mit  2 gleichen OFAs und rechter Sidebar, wanderte die Sidebar in die Detailseite unter das OFA und der Footer schob sich nach rechts, quasi als neue Sidebar.

Alles wegen dem einen fehlenden schließenden Div der zweiten OFA-Section. Uwes Lösung hat das behoben.
Danke dafür.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on January 27, 2017, 04:05:06 PM

Neue OneForAll Version:

VERSION 1.0.4 (27.01.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg208894.html#msg208894).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on January 27, 2017, 04:25:42 PM
DANKE, läuft !!!  (Y)  :-)
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on February 21, 2017, 10:39:01 AM
Hallo zusammen,

ich suche schon die ganze Zeit wo man im OFA Gruppen anlegen kann.
Wie funktioniert das?


VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 21, 2017, 11:16:25 AM
Moin, legst du ein Feld vom Typ Gruppe an.
Title: Re: Neues Modul "OneForAll"
Post by: Boudi on February 21, 2017, 12:44:02 PM
Stimmt es das der Google_sitemap.php der OFA seiten nicht erkannt? Unsere kunde hat hunderden ofa seiten gemacht aber keine ist zurück zu finden in der sitemap. Riesen problem.

Boudi
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 21, 2017, 01:10:15 PM
Schau mal nach diesen Eintrag hier und setze den Namen des OFA-Moduls ein, z.b. oneforall
mehrere OFA-Module im Projekt mit Komma trennen

Quote
// OneForAll Module
$oneforall_mod_names        = "";

dieser Eintrag sollte außerdem recht weit unten vorhanden sein. Ist er das nicht, hole dir die neueste Version der Dateien auf der seite von Ruud

$oneforall_mods = explode(',',$oneforall_mod_names);
foreach ( $oneforall_mods as $oneforall_mod_name) {
        $oneforall_mod_name = trim($oneforall_mod_name);
        if (in_array($oneforall_mod_name, $modules)) {
                $sql = "SELECT `section_id`,  `page_id`, `link`, `modified_when`
                                FROM `".TABLE_PREFIX."mod_".$oneforall_mod_name."_items`
                                WHERE `active` = '1'";
                $rs_oneforall = $database->query($sql);

                if($rs_oneforall->numRows() > 0) {
                        while($oneforall = $rs_oneforall->fetchRow()) {
                                if (!in_array($oneforall['section_id'], $public)) continue;
                                $page = $database->get_one("SELECT `link` FROM `".TABLE_PREFIX."pages` WHERE `page_id`='".$oneforall['page_id']."'");
                                $checked = check_link($page.$oneforall['link'], $exclude);
                                if ($checked === true) {
                                        $link    = htmlspecialchars($wb->page_link($page.$oneforall['link']));
                                        $lastmod = gmdate("Y-m-d", $oneforall['modified_when']+TIMEZONE);
                                        output_xml($link, $lastmod, $oneforall_frequency, $oneforall_priority);
                                        $counter++;
                                }
                                else {
                                        $debug_info[] = $checked;
                                }
                        }
                }
        }
}
Title: Re: Neues Modul "OneForAll"
Post by: Boudi on February 21, 2017, 01:25:38 PM
Hallo Uwe,

Danke.

Ersten punkt; habe ich gemacht.

Zweite punkt; steht im neuesten Google Sitemap von Ruud ab regel 486.

Ich habe gerade wiederum getest im Google Webmaster Tools aber ich sehe nur den hauptseites und kein einder site und sectionen vond OFA.

Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 21, 2017, 01:34:20 PM
nutze den direkten Aurfuf der Datei im Browser zur Kontrolle, z.b. http://deineAdresse/google_sitemap.php

hast du eigene Unterseiten für Oneforall?

Ich sehe grad, bei mir gehts auch nicht - habe Unterseiten zum test mal eingeschaltet
Title: Re: Neues Modul "OneForAll"
Post by: Boudi on February 21, 2017, 01:35:50 PM
Schön gemacht. Nur 26 seiten weil es mindestens 600 sein mussen. (soviele ofa sectionen sind da). Aber keine ofa.

GEFUNDEN: den angepaste name von der ofa sollte immer im google_sitemap.php mit kleinen buchstaben geschrieben worden.

Dabei regel 90: den shorturl auf 'true' setzen

(danke Ruud).
Title: Re: Neues Modul "OneForAll"
Post by: CodeALot on February 21, 2017, 01:55:04 PM
Sorry Boudi but then you must have made a mistake in declaring the OFA module names in google_sitemap.php

Code: [Select]
$oneforall_mod_names = "oneforall,myownofaname,anotherofaname,athirdofaname";

It does work, trust me! :-)

EDIT - While I was answering this, you already found it :-)
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 21, 2017, 01:55:25 PM
du meinst sicher 26 Sectionen mit insgesamt 600 items??

diese Version von google-sitemap.php zeigt nur Seiten, die auch in der pages-Tabelle stehen, also diese Seite, wo sich das Oneforall befindet, jedoch nicht die Unterseiten selbst.

möchtest du einen Link in der google-sitemap.php zu jedem Item von OFA, deaktiviere diese Zeile in der google-sitemap.php

if (!in_array($oneforall['section_id'], $public)) continue;

aber beachte, die Links werden dann unabhängig von der Einstellung in der oneforall-config.php angezeigt, also auch, wenn dort $view_detail_pages = false;
steht
Title: Re: Neues Modul "OneForAll"
Post by: Boudi on February 21, 2017, 02:16:54 PM
Ich habe diese situation gehabt welche bei mir nicht functionierte. Z.b. ware der angepaste Nahme "NahmeDesOFA":

Code: [Select]
// OneForAll Module
$oneforall_mod_names = "NahmeDesOFA"; // Names of the oneforall modules. Seperated by a comma.
//$oneforall_mod_names = "oneforall,projects,portfolio"; // Names of the oneforall modules. Seperated by a comma.

Das functionierte nicht. Ich habe eas angepast nach:

Code: [Select]
// OneForAll Module
$oneforall_mod_names = "nahmedesofa"; // Names of the oneforall modules. Seperated by a comma.
//$oneforall_mod_names = "oneforall,projects,portfolio"; // Names of the oneforall modules. Seperated by a comma.

und jetzt functionert es. :)

Bei einem site gab es vorher 65 seiten und jetzt 900. :)

Title: Re: Neues Modul "OneForAll"
Post by: Hollol on February 23, 2017, 12:12:06 PM
Kleine Zwischenfrage:

Im Moment bin ich dabei, OFA für User-Profile zu testen. Nachteil an der Sache ist, dass jeder registrierte User auf alle anderen angelegten Artikel/Profile zugreifen kann und die Möglichkeit zum Editieren hat.

Ist es aufwendig, eine Funktion in der Art von "author_only" aus dem Modul Topics einzubauen, so dass jeder nur seine eigenen Artikel/sein eigenes Profil editieren kann?

Grüße
Hollol
Title: Re: Neues Modul "OneForAll"
Post by: dbs on February 26, 2017, 10:54:18 PM
Hallo, ab PHP7.1 füllt sich das errorlog pro item mit:
Code: [Select]
[E_NOTICE]  \modules\mein_ofa\view_overview.php:[218] from \framework\frontend.functions.php:[325] require "A non well formed numeric value encountered"
[E_WARNING] \modules\mein_ofa\view_overview.php:[218] from \framework\frontend.functions.php:[325] require "A non-numeric value encountered"
Title: Re: Neues Modul "OneForAll"
Post by: DarkViper on February 27, 2017, 04:48:04 PM
Diese Probleme treten nur auf, wenn man versucht Äpfel mit Birnen zu multiplizieren, anstatt etwas auf benutzte Datentypen zu achten.
PHP wird in dieser Beziehung zukünftig immer pingeliger werden (Gott sei Dank).
Title: Re: Neues Modul "OneForAll"
Post by: cwsoft on February 27, 2017, 05:10:23 PM
@dbs: Bis PHP5 konnte man ziemlich lustige Sachen machen:

$text = "128MB";
$text = $text * 10;
echo $text;
--> 1280

Diesbezüglich bevorzuge ich Python (ZEN of Python):
Errors should never pass silently.
Unless explicitly silenced.
Title: Re: Neues Modul "OneForAll"
Post by: instantflorian on February 27, 2017, 06:59:01 PM
Es wäre hilfreicher, eine Lösung zu liefern.

In der betr. Zeile steht
Code: [Select]
$current_group = $values[$field_id] - 1;
So. Und was müsste da stattdessen stehen?
Code: [Select]
$current_group = intval($values[$field_id]) - 1;?
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on February 28, 2017, 10:36:16 AM
Hab das Thema getrennt nach Re: Offtopc PHP7-Fehler (http://forum.WebsiteBaker.org/index.php/topic,30055.0.html)

hier noch die Lösung aus den abgetrennten Teil


$current_group = (int)$values[$field_id] - 1;

Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 02, 2017, 10:52:51 AM
Hallo zusammen,

kann ich irgendwo das Datums-Format der Ausgabe von [DATE] anpassen?
Bzw. müsste nicht eigentlich das voreingestellte Format vom WB verwendet werden?


VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 02, 2017, 12:07:38 PM
$current_group = (int)$values[$field_id] - 1;

(int) vorn dran hat geholfen, vielen Dank.


Quote from: FS72
Bzw. müsste nicht eigentlich das voreingestellte Format vom WB verwendet werden?

Wenn ich [DATE] in den Loop einfüge zeigt es für jedes Item das Datum in der Form wie es unter WB Optionen und auch Einstellungen ausgewählt wurde.
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 02, 2017, 12:28:45 PM
Quote from: FS72
Bzw. müsste nicht eigentlich das voreingestellte Format vom WB verwendet werden?
Wenn ich [DATE] in den Loop einfüge zeigt es für jedes Item das Datum in der Form wie es unter WB Optionen und auch Einstellungen ausgewählt wurde.

Bei mir leider nicht.

Eingestellt habe ich in den Optionen
D.M.Y = 02.02.2017

ausgeben wird
Mar 02 2017

Ich verwende WB Version 2.8.3+SP7 (r1646) und OneForAll Version 1.0.4.


VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 02, 2017, 12:41:24 PM
Schau auch unter Einstellungen. Deine persönlichen Einstellungen (auch da oben im Menü zu finden.)
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 02, 2017, 12:48:04 PM
Schau auch unter Einstellungen. Deine persönlichen Einstellungen (auch da oben im Menü zu finden.)

Vielen Dank! Das war die Ursache!

VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 03, 2017, 12:36:40 PM
Ich habe eine weitere Frage zum Modul.

Wie kann ich den gewählten Gruppen-Name in der Übersicht wie auch in der Detail-Ansicht ausgeben?
[FIELD_3] zeigt mir hier nichts an.

VG Frank

Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 03, 2017, 01:51:59 PM
In der config.php des Moduls müsste stehen (Zeile 42):
Code: [Select]
// Group headers (only invoked if the group field is defined)
// Show group headers on overview page
$show_group_headers = true;

Und in "Seiten Einstellungen" unten bei Detailansicht könntest das [FIELD_3] oder die vergebene Feldbezeichnung ( bei mir [GRUPPE] ) immer groß angeben.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on March 03, 2017, 05:16:42 PM

Neue OneForAll Version:

VERSION 1.0.5 (03.03.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg209877.html#msg209877).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 04, 2017, 09:41:42 AM
Läuft  (Y) Danke!
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 06, 2017, 03:17:14 PM
Hallo dbs,

In der config.php des Moduls müsste stehen (Zeile 42):
Code: [Select]
// Group headers (only invoked if the group field is defined)
// Show group headers on overview page
$show_group_headers = true;

Und in "Seiten Einstellungen" unten bei Detailansicht könntest das [FIELD_3] oder die vergebene Feldbezeichnung ( bei mir [GRUPPE] ) immer groß angeben.

ich meinte das anders.

Mir geht es nicht um die Gruppierung in der Übersicht, wie von Dir Beschrieben.

Ich hätte Gern in der Schleife, pro Element den Gruppen Namen angezeigt.
Na vermutlich geht das nicht ohne weiteres...


VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 06, 2017, 03:40:54 PM
Jetzt verstehe ich dich sogar. :-)
Ja, leider geht das nicht. Vielleicht baut Christoph das noch ein, dass man [GROUP_NAME] auch selbst im Loop verwenden kann. In Detailansicht geht es.
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 09, 2017, 02:06:34 PM
Hallo ich habe noch ein "nicetohave" zu dem Modul.

Und zwar das Datum: Es wird immer wieder überschrieben, wenn etwas geändert wird.
Das ist an sich auch richtig so, aber beim Verschieben zu einer anderen Seite oder beim bloßen Ändern der Gruppe sollte das Datum erhalten bleiben.

Abhilfe könnte man schaffen, wenn man 2 Spalten mit Datum anlegt - ein Erstellungsdatum und ein Bearbeiten-Datum.
So könnte man wählen, welches Datum man ausgeben möchte.


VG Grüße
Frank

Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 09, 2017, 02:34:38 PM
Sorry wenn ich nerve... :-/

Bei der Auswahl des Datums über den Datepicker vom Eingabefeld Typ Datum, wird mir statt "09.03.2017" -> "9.3.Y" eingefügt.

Beim Typ "Datum, Zeit" wird das Datum richtig eingefügt -> "09.03.2017 um 00:00".

VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 10, 2017, 08:01:11 AM
Eine Spalte created_when wäre wohl eine gute Idee.

Datum und Datum mit Zeit wird mir unter 2.10 korrekt angezeigt.
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 14, 2017, 08:36:09 AM
Gibt es eine Möglichkeit, die Bandbreite der hochzuladenden Dateien beim Feld "Datei Upload" zu erweitern? Ich bekomme die Fehlermeldung "Bitte beachten Sie, dass Sie nur folgende Dateitypen auswählen können: .txt / .rtf / .doc / .docx / .odt / .pdf" - brauche für ein Projekt die Möglichkeit auch LibreCalc-Dateien (.ods) bzw. Excel-Dateien (.xls) hochladen zu können.....

Danke und lg,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 14, 2017, 09:13:17 AM
Moin, die config.php des Moduls ist dein Freund.
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 14, 2017, 09:46:56 AM
Perfekt, danke!  (Y)
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 14, 2017, 10:44:52 AM
Direkt noch ne Frage - wie kann ich einem Benutzer den Zugriff auf die Eingabefelder und Seiten-Einstellungen gewähren? Ich habe einen Benutzer angelegt, der volle Rechte bei den Seiten hat - aber bei den Seiten mit den OFA-Abschnitten kann er nur Einträge hinzufügen, die Buttons "Seiten-Einstellungen" und "Eingabefelder" sowie "Edit CSS" fehlen.

Da ich Gruppen verwende, möchte ich ihm die Möglichkeit geben, weitere Gruppen hinzuzufügen und außerdem den Text in der Kopfzeile anzupassen...

LG,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 14, 2017, 10:55:20 AM
Änder mal in der config.php
Code: [Select]
// Display settings to admin only (user_id = 1)
$settings_admin_only = false;
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 14, 2017, 10:59:10 AM
Danke!!! :-D
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 21, 2017, 02:37:04 PM
Jetzt verstehe ich dich sogar. :-)
Ja, leider geht das nicht. Vielleicht baut Christoph das noch ein, dass man [GROUP_NAME] auch selbst im Loop verwenden kann. In Detailansicht geht es.

Bei mir wird in der Detailansicht folgendes ausgegeben: GRUPPE: [GROUP_NAME]
Die Ausgabe erscheint, wenn ich [FELD_3] im Template einfüge.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 21, 2017, 10:23:42 PM
Mein Feld heißt Gruppe.
In Detailansicht (Kopfzeile) steht: Gruppe : [GRUPPE]
Und der Gruppenname wird mir auf der Einzelseite angezeigt.

FIELD nicht verwechseln mit FELD  :wink:
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 22, 2017, 10:53:06 AM
Mein Feld heißt Gruppe.
In Detailansicht (Kopfzeile) steht: Gruppe : [GRUPPE]
Und der Gruppenname wird mir auf der Einzelseite angezeigt.

FIELD nicht verwechseln mit FELD  :wink:

Hmm... habs mir eben noch einmal angeschaut.
Das Feld mit der Gruppe hat den Feldnamen "feld_3", Typ "Gruppe", Feldbezeichnung "Gruppe".
Als Platzhalter wird mir angezeigt: [FELD_3] oder [FIELD_3]

Wenn ich [GRUPPE] im Template ausgebe wird für den Platzhalter nichts ausgegeben.
Für [FELD_3] und [FIELD_3] wird jeweils "GRUPPE: [GROUP_NAME]" ausgegeben.

VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 22, 2017, 10:54:00 AM
Eine Spalte created_when wäre wohl eine gute Idee.

Datum und Datum mit Zeit wird mir unter 2.10 korrekt angezeigt.

Hier mal eine Rückmeldung zu dem Fehler:

Nach Update von WB 2.8.3 SP7 auf WB 2.10 war der Fehler immer noch da.
Nach frischer Installation von WB 2.10 war der Fehler weg.

VG Frank
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 22, 2017, 11:08:44 AM
Dann sind wir ja fast auf dem gleichen Stand. Ich weiß nun, dass du dein Feld so sprechend bennenst wie mit feld_3   :-)
Mein Feld siehts so aus: http://prntscr.com/en0ssb
(http://prntscr.com/en0ssb)

OFA 1.0.5
Welche ist deine?
Title: Re: Neues Modul "OneForAll"
Post by: FS72 on March 22, 2017, 11:19:38 AM
Dann sind wir ja fast auf dem gleichen Stand. Ich weiß nun, dass du dein Feld so sprechend bennenst wie mit feld_3   :-)
Mein Feld siehts so aus: http://prntscr.com/en0ssb
(http://prntscr.com/en0ssb)

OFA 1.0.5
Welche ist deine?

Ich hab den Fehler gefunden...
In der Config stand $show_group_headers auf false.
Somit wird die Gruppe weder in der Schleife, noch im Item angezeigt.

Ja, ich hab auch die 1.0.5.

Dann passt das Modul für meinen Anwendungszweck nicht oder ich muss es umbauen. :-/

Ich hätte gern in der Schleife keine Gruppierung, aber am Schleifen-Item die Gruppe angezeigt.
Im Item sollte auch die Gewählte Gruppe angezeigt werden.

Danke für Deine Hilfe dbs!

VG Frank

Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 24, 2017, 11:44:24 AM
Wenn du statt "Gruppe", das Feld "Auswahlliste" nimmst, kannst du dir den Inhalt (nur) in der Detailansicht anzeigen lassen...

Nächste Frage: Wie kann ich die Reihenfolge in der Schleife umdrehen? Also neu zugefügte Einträge sollen nach vorne ...

LG,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 25, 2017, 01:26:29 PM
Neues Problem: Wenn man mehrere Eingabefelder vom Typ "WebsiteBaker-Link" hat, dann werden beim zweiten Feld als Auswahlmöglichkeit der Seitenbaum verdoppelt (jeden Link gibt es also 2x), beim dritten Feld dann verdreifacht undsoweiter.

Wählt man dann aber bei einem Eintrag nur beim ersten Eingabefeld etwas aus und will (absichtlich) die anderen beiden freilassen, so funktioniert das zunächst. Öffnet man dann aber diesen Eintrag erneut, dann steht beim zweiten und dritten Feld dann der gleiche Eintrag ausgewählt wie beim ersten Eintrag.

Das klingt jetzt abstrakt - stellt für mich aber aktuell ein Problem dar. Wie kann ich es beheben?

WB 2.10.0 und OFA 1.0.5

Danke und lg,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on March 25, 2017, 03:37:44 PM
Ein Bug - bis zum Erscheinen der nächsten Version, kannst du folgenden Fix anwenden:

Datei modify_item.php, ca. Zeile 370:
Code: [Select]
case 'wb_link':
echo field_wb_link($field_id, $name, $page_id, $label, $value);
break;

ersetzen durch:
Code: [Select]
case 'wb_link':
unset($options);
echo field_wb_link($field_id, $name, $page_id, $label, $value);
break;
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 25, 2017, 07:03:49 PM
Perfekt, vielen Dank! :-D
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 29, 2017, 07:14:19 PM
Gibt es eine Möglichkeit, ein Eingabefeld des Types "Gruppe" zu verwenden, welches ausschließlich dazu genommen wird, auf einzelnen Unterseiten dann mithilfe von "ItemGroup" die Einträge der jeweiligen Gruppen anzuzeigen? Auf der Oberseite sollen alle Einträge ungruppiert - also nach der zeitlichen Reihenfolge - angezeigt werden. Sobald ich aber ein Feld vom Typ "Gruppe" habe, werden die Einträge auch auf der Oberseite gruppiert dargestellt, selbst wenn ich das Feld Gruppe gar nicht im Seitentemplate verwende. Wie kann ich das umgehen?

Daneben möchte ich die Einträge auch möglichst mehreren Gruppen zuordnen können. Geht das auch irgendwie....?

Danke und lg,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: dbs on March 29, 2017, 10:19:29 PM
Was passiert, wenn du in der config.php des Moduls die beiden Zeilen, die group enthalten, von true auf false umstellst?
Title: Re: Neues Modul "OneForAll"
Post by: astricia on March 30, 2017, 10:24:45 AM
Dann ist die Reihenfolge der Gruppen absteigend sortiert... nicht unsortiert, so wie ich es gerne hätte.
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 02, 2017, 05:48:36 PM
Ich versuche gerade mit der Funktion Oneforall_itemgroup nur bestimmte Einträge aus einem OFA-Abschnitt anzuzeigen. Bekomme aber in der Ausgabe die Meldung
Code: [Select]
There was an uncatched exception
Call to a member function numRows() on null
in line (73) of (/modules/oneforall_itemgroup/include.php):

WB 2.10.0 und oneforall_itemgroup v0.3

Der Aufruf erfolgt über eine Code-Section wie folgt:
Code: [Select]
if (function_exists('oneforall_itemgroup')) {
oneforall_itemgroup('modulename', 'group');
}

(wobei modulename und group entsprechend durch das OFA-Modul und die entsprechende Gruppe ersetzt sind.

Zeile 73 der include.php ist wie folgt:
Code: [Select]
if ($group_field->numRows() == 1) {
Irgendjemand ne Idee???

LG, Astrid
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 02, 2017, 08:06:43 PM
Bist du sicher, dass du in diesem Modul ein Feld vom type = 'group definiert hast?
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 03, 2017, 09:49:31 AM
Ja, ganz sicher. Das Feld ist nur noch nicht bei allen Einträgen ausgefüllt - hatte ich erst testweise bei einigen der ca. 100 Einträge gemacht. Liegt es daran? Funktioniert es also, wenn bei allen Einträgen eine Gruppe ausgewählt wurde?
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 03, 2017, 11:51:43 AM
Hab das jetzt verworfen, weil mir die Gruppierung an dieser Stelle eh nichts bringt, da ich Einträge mit dem gleichen OFA-Modul doppelt und dreifach habe, weil ich diese auch noch auf Unterseiten eingebaut habe.

Statt dessen versuche ich jetzt mit einem neuen OFA-Modul eine Übersicht der Gruppen (es geht um ein Archiv, nach Jahren..) zu organisieren. Es gibt dieses Eingabefeld "Modul OneForAll Link". Ich hätte jetzt gedacht, damit kann ich dann zu einzelnen Einträgen des entsprechenden Moduls verlinken...

Wenn ich allerdings ein Feld dieses Typs auswähle, erscheint oben beim Link "Hinzufügen Eintrag" die folgende Fehlermeldung:
Code: [Select]
There was an uncatched exception
Call to a member function fetchRow() on null
in line (211) of (/modules/projektenachjahr/functions.php)

Was ist das schon wieder? Ein Bug?
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 03, 2017, 06:53:26 PM
Hast du im Backend dort, wo du das Eingabefeld vom Typ "Modul OneForAll Link" definiert hast, nebst "Feldname" und "Feldbezeichnung" auch den "Modulnamen" angegeben? Dieser muss gleich wie der Verzeichnisname des Moduls bzw gleich wie in der Datenbank geschrieben werden; bei dir vermutlich "projektenachjahr".
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 03, 2017, 07:51:58 PM
Äh.... das ist ein Link im GLEICHEN OFA-Modul ??? Was für einen Sinn macht das? Ich hätte jetzt gedacht, ich kann darüber zu den Einträgen eines anderen OFA-Moduls verlinken...

Habe jetzt mal testweise ausprobiert, was passiert, wenn ich den gleichen Modulnamen eingebe. Dann verschwindet die Fehlermeldung, ja. Aber wenn ich einen neuen Eintrag zufüge, steht in diesem Feld nur "Bitte auswählen", aber es sind keine Links zum Auswählen vorhanden, obwohl es bereits Einträge gibt.

Irgendwas versteh ich hier falsch.....
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 03, 2017, 08:52:16 PM
Nein, du verstehst es richtig. Im Feld "Modulnamen" muss einfach der korrekte Name eines OFA-Moduls eingetragen sein. Es spielt keine Rolle, ob es das gleiche oder ein von dir umbenanntes Modul ist.

All deine geposteten PHP-Fehler kann ich leider nicht reproduzieren. Es sieht stark nach einem Datenbank-Fehler aus. Um dir weiterhelfen zu können, müsstest du den betroffenen SQL-Query ausgeben und posten. ZB. in der Datei functions.php, nach der Zeile 209 folgende Zeile einfügen (danach wieder löschen!):
Code: [Select]
echo $query;
Title: Re: Neues Modul "OneForAll"
Post by: dbs on April 03, 2017, 10:27:09 PM
Unter 2.10.1 und PHP 7.1 klappt das ohne Fehlermeldung. Auswahl aus eigenem Modul oder eines anderen OFA-Moduls.

Was nicht klappt ist "Rebuild Access Files" im Info-Button. Der löscht alle OFA access files und erstellt keine neuen. Detailseiten damit nicht mehr erreichbar. Errorlog bleibt leer.
Pfad zu den access files:  sub.domain.de/210/pages/de/sonstiges/oneforall
Title: Re: Neues Modul "OneForAll"
Post by: DarkViper on April 04, 2017, 12:18:06 AM
Was nicht klappt ist "Rebuild Access Files" im Info-Button. Der löscht alle OFA access files und erstellt keine neuen. Detailseiten damit nicht mehr erreichbar. Errorlog bleibt leer.
Pfad zu den access files:  sub.domain.de/210/pages/de/sonstiges/oneforall

Der Rebuild kann so nicht ohne weiteres funktionieren, da OFA anscheinend keine 'echten' Seiten mit Eintrag in der pages-Tabelle erzeugt, seine Accessfiles hingegen aber innerhalb des über die pages-Tabelle verwalteten Verzeichnisbaums ablegt.
News, Topics, Items usw. legen ihre Pseudo-Seiten in einem eigenen Verzeichnis auf Level 0  ab. Dadurch werden sie auch nicht durch die Rebuild-Routine und die allgemeine Pagesverwaltung beeinträchtigt.
Diese Technik ist allerdings kein neues Feature... sondern schon seit der ersten Version Bestandteil von WebsiteBaker.
Sinnvoll wäre evt. einVerzeichnis:   sub.domain.de/pages/oneforall/ um darin die von OFA generierten Accessfiles abzulegen.
Solange dann kein Accessfile sub.domain.de/pages/oneforall.php existiert, gibt es keine Probleme. (der Core wird ein solches auch niemals anlegen, wenn das Unterverzeichnis bereits existiert)

Manuela
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 07:40:01 AM
Nein, du verstehst es richtig. Im Feld "Modulnamen" muss einfach der korrekte Name eines OFA-Moduls eingetragen sein. Es spielt keine Rolle, ob es das gleiche oder ein von dir umbenanntes Modul ist.

All deine geposteten PHP-Fehler kann ich leider nicht reproduzieren. Es sieht stark nach einem Datenbank-Fehler aus. Um dir weiterhelfen zu können, müsstest du den betroffenen SQL-Query ausgeben und posten. ZB. in der Datei functions.php, nach der Zeile 209 folgende Zeile einfügen (danach wieder löschen!):
Code: [Select]
echo $query;

Also noch mal - gestern habe ich wohl aus Versehen statt "Modul OneForAll Link" den Typ "Modul Foldergallery" ausgewählt. Danach verschwand die Fehlermeldung. Wenn ich also einen typ "Modul OneForAll Link" auswähle, und in der Datei functions.php den von dir gewünschten Code eingegeben habe, kommt (ganz egal, ob der Modulname das aktuelle Modul oder ein anderes Modul ist), die folgende Fehlermeldung:

Code: [Select]
SELECT item_id, title FROM `wb_mod_ProjektenachJahr_items` WHERE active = '1' AND title != '' ORDER BY section_id, position ASCThere was an uncatched exception
Call to a member function fetchRow() on null
in line (212) of (/modules/projektenachjahr/functions.php):
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 09:23:47 AM
Ich habe jetzt mal testweise bei einem ganz anderen Projekt, das ebenfalls schon auf WB 2.10.0 umgestellt ist, bei einem OFA-Modul ein Eingabefeld vom Typ "Modul OneForAll Link" zugefügt. Sobald ich auf einen Eintrag klicke, erhalte ich hier genau die gleiche Fehlermeldung!!! Es hat also ganz bestimmt nichts mit der Datenbank zu tun. Probiert das mal aus - muss doch bei euch auch reproduzierbar sein...
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 09:30:22 AM
Und bei einem weiteren Test habe ich auf einer Instanz, auf der noch WB 2.8.3 SP7 läuft bei einem OFA-Modul ein solches Feld zugefügt. Jetzt erscheint diese Fehlermeldung NICHT, aber das Eingabefenster bricht an der Stelle ab, wo das Feld angezeigt werden würde. Das heißt, auch die Buttons Speichern, Speichern und zurück zur Übersicht und Abbrechen werden nicht angezeigt!
Title: Re: Neues Modul "OneForAll"
Post by: dbs on April 04, 2017, 09:37:14 AM
Wie oben geschrieben klappt es bei mir. Aber ich vermute dein Aufbau ist ganz anders bzw. was du noch so auf einer Seite verwendest.
Ich kann es nicht nachstellen ohne genaue Infos.
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 09:45:45 AM
Was brauchst du denn noch für Infos? Wie gesagt, habe ich das jetzt bei drei verschiedenen Domains probiert und nirgends klappt das. Kann doch nicht nur an mir liegen?
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 09:53:32 AM
Hier mal alle Infos, wo und wie ich getestet habe:

Test 1: WB 2.10.0 / PHP 7.0 / OFA 1.0.5 / gehostet bei all-inkl
Test 2: WB 2.10.0 / PHP 7.0 / OFA 1.0.5 / gehostet bei Strato
Test 3: WB 2.8.3 SP7 / PHP 5.6 / OFA 0.9.5 / gehostet bei Hetzner
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 04, 2017, 09:53:45 AM
Folgende Datenbank-Abfrage enthält den Fehler:
Code: [Select]
SELECT item_id, title FROM `wb_mod_ProjektenachJahr_items` WHERE active = '1' AND title != '' ORDER BY section_id, position ASC

Der Tabellenname "wb_mod_ProjektenachJahr_items" muss vollständig in Kleinschreibung sein und dem von OFA für den Verzeichnisnamen bzw. in der Datenbank verwendeten Namen entsprechen, wie ich bereits in diesem Post (http://forum.WebsiteBaker.org/index.php/topic,27896.msg210707.html#msg210707) geschrieben hatte.

Also mit anderen Worten:
Im dritten Feld, rechts von "Feldname" und "Feldbezeichnung" den "Modulnamen" so angegeben, wie er für den Verzeichnisnamen bzw. in der Datenbank verwendet wird. Dieser ist nicht zwingend identisch mit dem von dir in der info.php eingetragenen Namen! Notfalls kurz in der Datenbank nachsehen!

Bsp: Aus "ProjektenachJahr" wird dann "projektenachjahr".
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 04, 2017, 10:00:45 AM
Ahhhhhhhhhhhhhhh... . ich bin so doof. Danke... das hatte ich tatsächlich übersehen. Damit scheint es zu klappen. Danke!!!
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 04, 2017, 11:27:22 AM
Ich werde dies in der nächsten Version anpassen, damit in Zukunft auch der in der info.php angegebene Modulname verwendet werden kann.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 05, 2017, 08:16:06 AM

Neue OneForAll Version:

VERSION 1.0.6 (05.04.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg210776.html#msg210776).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on April 05, 2017, 03:53:37 PM
Hallo Christoph,

wie Manu oben erklärt hat ist es normal, dass die Accessfiles (in meinem Fall) nicht neuerstellt werden.
Wirst du da noch was dran ändern?

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on April 06, 2017, 10:54:39 AM
1. Einheitlich URLs

Ich finde es wichtig, dass OneForAll seine Kindseiten (Modul Detailseiten) in ein Verzeichnis ablegt, das den gleichen Namen benutzt wie die Elternseite (Modul Übersichtsseite). Auf diese Weise sind die URLs einheitlich und dies macht nicht zuletzt auch aus SEO-Sicht Sinn.

Bsp:
Übersichtsseite: example.com/appartements.php
Detailseiten:      example.com/appartements/studio-1-1.php
                        example.com/appartements/studio-2-2.php
                        example.com/appartements/studio-3-3.php
                        example.com/appartements/loft-1-4.php
                        example.com/appartements/loft-2-5.php
                        etc



2. Seiten-Konflikte

Konflikte zwischen Seiten entstehen nicht nur durch die Benutzung der Core-Funktion rebuildAccessFiles und OneForAll. Es ist grundsätzlich ein Problem von WB, dass durch das Erstellen einer ungeeigneten Seitenstruktur Verzeichnisse mit Access-Files ungewollt gelöscht werden, weil Unterverzeichnisse von "pages" gemeinsam genutzt werden: Einerseits durch "normale" WB-Unterseiten, andererseits durch Detailseiten (Kindseiten) eines Moduls.

Ein Bespiel anhand des News-Moduls:

Das News-Modul legt im Verzeichnis "pages" ein eigenes Unterverzeichnis "posts" an. Wenn nun ein Benutzer auf die Idee kommt, eine neue WB-Seite (egal, welcher Art) mit dem Titel "Posts" anzulegen, wird dies im ersten Versuch scheitern und mit der Fehlermeldung «Eine Seite mit einem ähnlichen oder demselben Titel existiert bereits» verhindert.

Der Benutzer möchte die Seite aber unbedingt "Posts" nennen und legt dazu zuerst eine Dummy-Seite an mit einem Titel, der noch nicht vergeben ist und keinen Fehler produziert, zB. "Dummy". Anschliessend benennt er die Seite um in "Posts", insbesondere ändert er unter "Einstellungen ändern" > "Datei-Link" den Dateinamen in "posts", was alles ohne Probleme funktioniert …

Nun wird das Verzeichnis "posts" gemeinsam einerseits durch die Unterseiten der Seite "Posts", andererseits durch Kindseiten des News-Moduls genutzt.

Wird nun die Seite "Posts" gelöscht oder die Core-Funktion rebuildAccessFiles gestartet, wird das ganze Verzeichnis "posts" inkl. aller Access-Files des News-Moduls gelöscht!


Conclusion

Das Problem ist vielschichtig und nicht nur ein OneForAll-Problem. Im Core müssten beispielsweise zusätzliche Überprüfungen beim Ändern der Seiteneinstellungen eingebaut werden. Meiner Meinung nach dürfte die Core-Funktion rebuildAccessFiles nur Access-Files löschen, die auch wieder hergestellt werden können. Eventuell hilft ein "Flag" in den Access-Files, welche vom Core erstellt werden, um diese von Modul Access-Files zu unterscheiden.
Title: Re: Neues Modul "OneForAll"
Post by: dbs on April 09, 2017, 10:33:07 PM
In der Vergangenheit gingen öfter mal access files verloren. Rebuild Access Files konnte die dann aber wieder herstellen. Da hatte ich wohl zufällig eine passende Struktur. Ich glaube nicht, dass von Dev-Seite was gemacht wird. Sie sehen das sicher als Modulproblem.

Andere Frage.
Das Datumsfeld (datepicker) möchte ich gern mit dem aktuellen Datum vorbelegen falls noch keins in der DB ist. Also neuer Eintrag = Datum von heute.
In der functions.php in der function field_datepicker habe ich dies an den Anfang gesetzt:
Code: [Select]
if ($value==0) {
    $value = date('d.m.Y');
}

Das scheint zu klappen. Bin ich da richtig, kann man das so machen?
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 20, 2017, 12:28:39 PM
Gibt es die Möglichkeit, mit einem Code-Aufruf ähnlich wie "AnyItems" eine beliebige Anzahl aus ALLEN Sections dieses Moduls aufzurufen? Ich versuche gerade, mit OFA einen Blog aufzubauen, der mehrere Kategorie-Unterseiten hat. Auf jeder Unterseite befindet sich also ein OFA-Modul mit den Blog-Einträgen. Nun möchte ich auf der Startseite die x neuesten Beiträge aus ALLEN Unterseiten anzeigen. Zeitlich sortiert, unabhängig davon, von welcher Kategorie-Unterseite sie gerade kommen. Wie mache ich das am besten?

LG,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: astricia on April 20, 2017, 05:51:40 PM
Gibt es die Möglichkeit, mit einem Code-Aufruf ähnlich wie "AnyItems" eine beliebige Anzahl aus ALLEN Sections dieses Moduls aufzurufen? Ich versuche gerade, mit OFA einen Blog aufzubauen, der mehrere Kategorie-Unterseiten hat. Auf jeder Unterseite befindet sich also ein OFA-Modul mit den Blog-Einträgen. Nun möchte ich auf der Startseite die x neuesten Beiträge aus ALLEN Unterseiten anzeigen. Zeitlich sortiert, unabhängig davon, von welcher Kategorie-Unterseite sie gerade kommen. Wie mache ich das am besten?

LG,
Astrid

Nachdem das anscheinend nicht möglich ist, habe ich jetzt versucht, das anders aufzuziehen. Die Blog-Einträge werden nun in einer versteckten Unterseite eingetragen und enthalten ein Feld des Typs "Gruppe", welches die einzelnen Kategorien enthält. Nun kann ich auf der Startseite mit AnyItems die neuesten x Beiträge aus allen Gruppen anzeigen - das funktioniert. Und ich hatte gehofft, dass ich auf den Kategorie-Unterseiten dann mit ItemGroup die jeweiligen Beiträge aus den einzelnen Gruppen/Kategorien anzeigen kann. Aber es scheint, als ob ich hier nur auf die Felder TITLE und LINK zugreifen kann, aber nicht auf die anderen Eingabefelder (FIELD_1, FIELD_2 usw.). Ist das richtig? Warum geht das nicht..... ? Ich würde neben der Überschrift auch gerne Datum, Foto und Kurztext mit anzeigen... Jemand ne Idee?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on May 05, 2017, 08:45:30 AM
Moin, nochmal Accessfiles. Hatte ein neues Projekt angefangen und musste wegen Problemen an anderer Stelle Rebuild Accessfiles auslösen.
Ergebnis war natürlich wieder der Verlust der OFA Detailseiten. Über 50 Stück.

Ich weiß nicht ob ich mich über meine Vegesslichkeit ärgern soll oder über was anderes. Vielleicht muss das nur oft genug passieren bis es sich eingebrannt hat.
Title: Re: Neues Modul "OneForAll" - Accessfiles
Post by: dbs on May 12, 2017, 03:22:29 PM
Ist nicht mehr so lustig mit den Accessfiles.
1&1, PHP 7.0.18, WB SP7, shorturl, ofa 1.0.6
Eine Seite "News" hat ein umbenantes OFA "news ofa" und auch das normale Newsmodul.
ofa News nutzt keine Detailseiten. Löscht man ein Item geht das Accessfile  pages/news.php verloren. Hab jetzt erstmal in der delete-item.php das unlink($item_link); auskommentiert.
Woran liegts?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on May 21, 2017, 10:25:52 PM
Noch jemand hier?
Detailseiten sind in der config.php auf false. Löscht man ein Item geht das Accessfile verloren.  :|
Title: Re: Neues Modul "OneForAll"
Post by: Ruud on May 21, 2017, 10:42:36 PM
When items are saved without accessfile the field link is empty.
The link that will be removed in that case is the ofa page itself.

The fix is to do a check for the "link" first.
delete_item.php from line 48:
Code: (original) [Select]
$item_link = WB_PATH.PAGES_DIRECTORY.$page['link'].$get_details['link'].PAGE_EXTENSION;
if (is_writable($item_link)) {
unlink($item_link);
}
should be wrapped in:
Code: [Select]
if($get_details['link']) {  //only delete when link was originally stored
$item_link = WB_PATH.PAGES_DIRECTORY.$page['link'].$get_details['link'].PAGE_EXTENSION;
if (is_writable($item_link)) {
unlink($item_link);
}
}


Title: Re: Neues Modul "OneForAll"
Post by: dbs on May 21, 2017, 11:01:00 PM
Hehe, this works. Thank you Ruud.  (Y)
Should be implemented in the official version.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on May 22, 2017, 11:53:04 AM
I have added it to the code so it will be part of the next version.
I thank both of you!
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on May 30, 2017, 10:13:36 AM

Neue OneForAll Version:

VERSION 1.0.7 (30.05.2017)


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg210776.html#msg210776).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: astricia on June 30, 2017, 12:18:09 PM
Eine Frage zu dem Eingabefeld-Typ "Schalter".

Ich habe das in einer OFA-Instanz, mit der Referenzprojekte beschrieben werden, für die Farbgestaltung einer Bildbeschreibung (die auf dem Bild selbst angezeigt wird) gewählt. Der Feldtyp ist also "Schalter (ein/aus)", das Feld heißt "Dunkles Titelfoto? (ja/nein) und das Feld ist mit folgendem Inhalt belegt: "style=color: #fff;" - normalerweise ist die Schriftfarbe schwarz. Aufgerufen wird das Feld dann in den Seiteneinstellungen wie folgt: "<div class="ref_titel" [FIELD_31]">" - Somit sollte das Feld 31 (also dieser Schalter) ja nur aufgerufen werden, wenn er auf "ja" gestellt ist.

Dies war notwendig geworden, weil eben plötzlich ein dunkles Bild als Titelfoto gewählt wurde und dort die Beschriftung auf dem Bild nicht mehr lesbar war.

Nun gibt es aber einen weiteren Eintrag in dieser OFA-Instanz, die wiederum ein helles Bild hat. Aber es wurde versehentlich der Schalter auf "ja" umgelegt - > Folge, die Schrift war weiß. So weit, so gut. Aber bei Rückschaltung des Schalters auf "nein" blieb die Schriftart weiß!!! Es scheint also, als ob der Schalter, wenn er erst 1x umgelegt war, sich nicht mehr rückgängig machen lässt.

Ich habe das bei einem anderen Eintrag (bei der das Titelbild eine mittlere Farbe hatte - also nicht so schlimm, wenn die Schrift weiß oder schwarz ist) getestet. Und ja - beim erstmaligen Umlegen des Schalters auf "ja", wurde die Schrift von schwarz auf weiß geändert. Beim wiederholten Umlegen des Schalters auf "nein" blieb die Schrift aber weiß.

Kann mir bitte jemand sagen, wie das geändert werden kann???

Danke und liebe Grüße,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: astricia on June 30, 2017, 04:00:19 PM
Noch mal zum gleichen Problem - etwas mehr Ursachenforschung hat ergeben, dass der Inhalt des Schalter-Feldes immer dann ausgegeben wird, wenn eine Referenz neu abgespeichert wird. Selbst dann, wenn der Schalter selbst überhaupt nicht umgelegt wird!

Ist das ein Bug oder habe ich einen grundsätzlichen Denkfehler in der Konstruktion des Schalter-Feldes???

LG,
Astrid
Title: Re: Neues Modul "OneForAll"
Post by: dbs on June 30, 2017, 04:27:00 PM
Quote
Code: [Select]
"style=color: #fff;"
Das sieht schon mal etwas komisch aus.

Versuch es doch besser mit Klassen.
Code: [Select]
<div class="ref_titel [FIELD_31]">

.ref_titel.ja {color: ...}
.ref_titel.nein {color: ...}

Wobei nein oder Nein eigentlich überflüssig ist.
Dann darf in dem Feld aber nur [CUSTOM_CONTENT] drin stehen
Title: Re: Neues Modul "OneForAll"
Post by: astricia on June 30, 2017, 05:57:47 PM
ok, so klappt es... ich bin eigentlich davon ausgegangen, dass Schalter=ein immer bedeutet "Zeige den Feldinhalt" und Schalter=aus "Zeige den Feldinhalt nicht". Dann hätte meine Konstruktion eigentlich auch funktionieren müssen.

Aber danke für den Tipp! :-D
Title: Re: Neues Modul "OneForAll" SYSVAR:MEDIA_REL
Post by: dbs on September 06, 2017, 07:31:29 PM
Hallo Christoph,

habe gerade eine Seite auf HTTPS umgestellt und erschreckt festgestellt, dass alle Bilder in OFA wysiwygs immer noch das HTTP nutzen.
Ist da das SYSVAR:MEDIA_REL nicht im Spiel bei OFA?

Gruß
Frank
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on September 06, 2017, 07:47:19 PM
Das OFA-Modul wie auch andere WB-Module nutzen in der Regel das WYSIWYG-Modul, um einen WYSIWYG-Editor zu implementieren.
Title: Re: Neues Modul "OneForAll"
Post by: jacobi22 on September 06, 2017, 07:54:14 PM
nicht ganz richtig
benutzt wird in OFA nicht das Wysiwyg-Modul, sondern der eingestellte Standard-Editor (den auch das wysiwyg-Modul benutzt)

Quote from: dbs
Ist da das SYSVAR:MEDIA_REL nicht im Spiel bei OFA?

Nein, ist nicht in Verwendung. Der Aufwand, es zu implementieren, ist aber relativ gering. Wysiwyg-Modul oder News sind da gute Copy&Paste-Vorlagen, hatte das bei mir schon mal gemacht, aber beim Upgrade nicht aufgepasst
Title: Re: Neues Modul "OneForAll"
Post by: dbs on September 06, 2017, 10:44:43 PM
In der save_item.php war nichts zu sehen von MEDIA_REL, deshalb hier die Frage.
Exportieren, Search&Replace, Importieren hat geholfen.  :-)
Als Nächstes schau ich dann mal wegen Copy&Paste.
Title: Re: Neues Modul "OneForAll"
Post by: freeSbee on September 12, 2017, 06:24:54 PM

Neue OneForAll Version:

VERSION 1.0.8 (12.09.2017)


WICHTIG:
Nach dem Upgrade auf diese Version und dem erneuten Speichern eines Eintrags kann die URL des Eintrags geändert sein (ohne item_id).


WEITERE INFOS
Weitere Informationen findest du in folgendem WB Forum Thread (Englisch) (http://forum.WebsiteBaker.org/index.php/topic,27895.msg210776.html#msg210776).

DOWNLOAD
Download als zip-Datei: Download-Link (http://www.bakery-shop.ch/downloads/oneforall/oneforall.zip).

Christoph
Title: Re: Neues Modul "OneForAll"
Post by: dbs on September 22, 2017, 04:14:13 PM
Gefällt mir, dass die -id nicht mehr in der URL ist.  (Y)
Danke mal wieder.

Nimmst du das SYSVAR:MEDIA_REL noch mit auf die Todo-Liste?
Title: Re: Neues Modul "OneForAll"
Post by: dbs on October 06, 2017, 07:10:59 PM
Quote
Christoph hat seine Entwicklung und Support für WB wohl eingestellt.

ich korrigiere:
Christoph hat seine Entwicklung und Support für die von ihm entwickelten Addons eingestellt.
Es geht nicht um das verwendete CMS, es ist vorallem der Aufwand, der nötig wäre, um diese Addons auf ein neues, modernes Level umzustellen. Ich rechne pro Modul mit mindestens vier Monate Vollzeit, dazu kämen die Snippets
Diese, seine Entscheidung wurde in den letzten Jahren mit Blick auf den Code bereits mehrfach angekündigt, sowohl intern wie auch öffentlich.