Name für Objekt vergeben vor write

Fragen zum Erstellen von Templates für webEdition.
Sophia
Member
Beiträge: 62
Registriert: Mo 4. Mai 2009, 22:56

Name für Objekt vergeben vor write

Beitragvon Sophia » Di 12. Mai 2009, 10:48

Wenn ich mit folgendem Code ein neues Objekt anlege, bekommt dieses die ID als Name (OF_Text). Kann ich vor dem write einen anderen Namen vergeben oder geht das nur nachträglich?
<we:form type="object" name="test" id="self" classid="6" method="post" >

Bezeichnung: <we:userInput name="Nav_de" value="testnavde" type="text" size="46"/>
<input type="submit" value="Eintragen">
<input type="reset" value="Zur&uuml;cksetzen">

</we:form>
<we:write type="object" formname="test" classid="6" forceedit="true"/>

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon WBTMagnum » Mi 13. Mai 2009, 01:33

Objekte können leider nicht automatisch "benamst" werden. Ich habe vor längerem schon mal ein Feature-Request in der bugbase gepostet (http://qa.webedition.de/tracker/view.php?id=2860).

LG,
Sascha

Sophia
Member
Beiträge: 62
Registriert: Mo 4. Mai 2009, 22:56

Re: Name für Objekt vergeben vor write

Beitragvon Sophia » Mi 13. Mai 2009, 12:30

Vielen Dank, Sascha !
Wenn ich deinen Link aufrufe kommt:
SYSTEM WARNING: mysql_connect() [function.mysql-connect]: Too many connections



APPLICATION ERROR #400
Database connection failed. Error received from database was #1040: Too many connections.

Please use the "Back" button in your web browser to return to the previous page. There you can correct whatever problems were identified in this error or select another action. You can also click an option from the menu bar to go directly to a new section.

Was sollte denn kommen?

LG, Sophia

deemes

Re: Name für Objekt vergeben vor write

Beitragvon deemes » Mi 13. Mai 2009, 12:45

Eigentlich sollte da ein Eintrag im Bugtracker erscheinen. Aber dieser Eintrag ist sowieso auf "privat" geschaltet und kann nur vom Ersteller und living-e gelesen werden. :)

MarS
Senior Member
Beiträge: 602
Registriert: Mo 2. Mai 2005, 11:30
Wohnort: Kiel
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon MarS » Mi 13. Mai 2009, 14:41

Hat schonmal jemand folgendes versucht?

Code: Alles auswählen

<we:form type="object" name="test" id="self" classid="6" method="post" >
<we:userInput name="Nav_de" value="testnavde" type="text" size="46"/> 
<input type="submit" value="Eintragen">
<input type="reset" value="Zur&uuml;cksetzen">
</we:form>
<?php
$name = "test"; // Name-Attribut aus dem we:Form
$GLOBALS["we_object"][$name]->Text = "NennMichWieDuWillst";
?>
<we:write type="object" formname="test" classid="6" forceedit="true"/>
Wenn ich mich jetzt nicht völlig im Code [we_tag.inc.php we_tag_write()] verguckt habe, sollte das funktionieren.

Gruß, Martin

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon Dirk Einecke » Mi 13. Mai 2009, 15:29

Hi,
Sophia hat geschrieben:Wenn ich deinen Link aufrufe kommt:
SYSTEM WARNING: mysql_connect() [function.mysql-connect]: Too many connections
Sorry das der Bugtracker (qa.webedition.de) zeitweise so schlecht erreichbar ist. Wir werden ihn ebenfalls (so wie das Forum) auf einen neuen Server umziehen. Aus diesem Grund ist der Bugtracker im Augenblick deaktiviert. Leider wird mit dem Umzug auch eine Änderung der DNS-Einträge notwendig werden, was nochmal eine Verzögerung von etwa 24 Stunden bedeutet. Wie gesagt ... sorry.

MfG
Dirk Einecke

Sophia
Member
Beiträge: 62
Registriert: Mo 4. Mai 2009, 22:56

Re: Name für Objekt vergeben vor write

Beitragvon Sophia » Mi 13. Mai 2009, 17:14

Gute Idee, hat aber leider nicht funktioniert mit $GLOBALS["we_object"][$name]->Text = "NennMichWieDuWillst";
Es steht dann zwar richtig in GLOBALS drin, trotzdem speichert write eine ID als Name.

Im Prinzip habe ich mir auch schon mit nachträglichem Ändern über mysql beholfen.
mit <we:ifWritten type="object">
<?php

$ob_ID = $we_object[neu]->ID;
$ob_txt = $we_object[neu]->Text;
$query="UPDATE tblobject_7 SET OF_Text = '".$newObjectName. ' WHERE OF_ID =".$ob_ID;
$sql = mysql_query($query);
...
Dann steht es zwar richtig in tblobject_7 drin, aber die Anzeige im WebEdition Adminbereich wird nicht upgedatet. Leider blicke ich nicht durch, was ich in tbltemporaydoc löschen muss. Wonach suchen?

Und wie kann ich diesen Tracker nutzen, wenn er wieder geht?

deemes

Re: Name für Objekt vergeben vor write

Beitragvon deemes » Mi 13. Mai 2009, 17:21

Es gibt noch einen Eintrag in tblObjectFiles. Ich glaube das Feld heisst schlicht und einfach "Text".

Sophia
Member
Beiträge: 62
Registriert: Mo 4. Mai 2009, 22:56

Re: Name für Objekt vergeben vor write

Beitragvon Sophia » Mi 13. Mai 2009, 17:36

Danke, deemes!
Jetzt klappt es. Endlich!

MarS
Senior Member
Beiträge: 602
Registriert: Mo 2. Mai 2005, 11:30
Wohnort: Kiel
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon MarS » Mi 13. Mai 2009, 23:03

Sophia hat geschrieben:Gute Idee, hat aber leider nicht funktioniert mit $GLOBALS["we_object"][$name]->Text = "NennMichWieDuWillst";
Es steht dann zwar richtig in GLOBALS drin, trotzdem speichert write eine ID als Name.
Hallo Sophia,

das ist richtig, ich hatte leider erst jetzt Zeit mir das im Detail anzusehen.
Auch wenn'S eigentlich zu spät ist:
Ich habe leider eine Zeile weiter vorne übersehen - dort wird das Objekt neu initialisiert und dabei alle Infos aus den GLOBALS überschrieben.
Es war allerdings kein Problem schnell einen weiteren Parameter in das we:write einzubauen, so dass man den Namen via z.B. objectname="NennMichWieDuWillst" angeben könnte. Das sind drei Zeilen Code, die Änderungen halten sich also in Grenzen.

Gruß, Martin

Sophia
Member
Beiträge: 62
Registriert: Mo 4. Mai 2009, 22:56

Re: Name für Objekt vergeben vor write

Beitragvon Sophia » Mi 13. Mai 2009, 23:37

Hallo Martin,
hab mir schon so was gedacht. Da ich mich noch kaum auskenne mit webEdition (allererstes Projekt) - wo finde ich eigentlich das we:write tag? Steht jedenfalls nicht unter we\include\we_tags. Änderst du einfach den Original-Code oder was wäre eine saubere Möglichkeit?
Gruß, Sophia

MarS
Senior Member
Beiträge: 602
Registriert: Mo 2. Mai 2005, 11:30
Wohnort: Kiel
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon MarS » Do 14. Mai 2009, 08:26

Sophia hat geschrieben:Hallo Martin,
hab mir schon so was gedacht. Da ich mich noch kaum auskenne mit webEdition (allererstes Projekt) - wo finde ich eigentlich das we:write tag? Steht jedenfalls nicht unter we\include\we_tags. Änderst du einfach den Original-Code oder was wäre eine saubere Möglichkeit?
Gruß, Sophia
Hallo Sophia,

die Tags befinden sich zu 80% in der we/include/we_tag.inc.php. Alle anderen Tags sind Modulspezifisch und in Unterordnern im we/include.

Ich ändere nichts an den Original-Dateien, da nach einem Update die Änderungen an den Dateien wieder überschrieben werden könnten. Sauber wäre es, einen Patch für die Datei zu erstellen und diesen nach ausgiebigen Tests an den entsprechenden Eintrag in der Bugbase in dem entsprechenden Feature-Request anzuhängen.

Gruß, Martin

sirius6

Re: Name für Objekt vergeben vor write

Beitragvon sirius6 » Do 14. Mai 2009, 09:38

wenn man sich mit hooks auskennt kann man das auch über diese lösen. Ich hab allerdings selbst auch nur das Beispiel ausprobiert, welches veröffentlicht ist.

deemes

Re: Name für Objekt vergeben vor write

Beitragvon deemes » Do 14. Mai 2009, 10:00

we:ifWritten ist ja eigentlich eine Art Hook. Da das hier so möglich ist, finde ich die Variante besser, da man so den Code zusammen an einer Stelle behält.

MarS
Senior Member
Beiträge: 602
Registriert: Mo 2. Mai 2005, 11:30
Wohnort: Kiel
Kontaktdaten:

Re: Name für Objekt vergeben vor write

Beitragvon MarS » Do 14. Mai 2009, 11:58

Naja, aber warum sollte ein Eintrag erst angelegt werden und hinterher manipuliert werden, wenn man ihn auch gleich so erstellen kann, wie man ihn haben möchte?
Wenn es nur darum geht Hooks zu verwenden kann man sicherlich alles (irgendwie an der wE-Basis vorbei) selbst entwickeln.

Morgen kommt dann das nächste Projekt in dem das wieder jemand braucht, der muss sich dann ständig diese (sorry) Update-Krücke kopieren und anpassen - schöner wäre es da doch, einfach die Parameter für we:write angepasst zu wissen?!

Gruß, Martin


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste