ich hab mich jetzt dazu entschieden, meine erstellten Projekte in einer externen Datenbank zu speichern. Ich hab mich für MySQL entschieden.
Dafür hab ich MySQL - pyhton installiert und ZMySQLDA, was ich für die Verbindung zu meiner DB brauchte.
Jetzt hab ich auch schon erste Statements abgesetzt auf mein DB.
Wenn ich ein insert statment abgesetzt habe, ging alles reibungslos aber eingebaut in ein Template kam ein Fehler.
So sieht das eingabe Template aus!
Code: Alles auswählen
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"
metal:use-macro="here/main_template/macros/master"
i18n:domain="plone">
<head>
<script language="javascript" src="trimpath/template.js"></script>
</head>
<body>
<div metal:fill-slot="main"
tal:define="is_manager python: checkPermission('Manage portal', here)">
<h1 i18n:translate="heading_member_search">Search for users</h1>
<p i18n:translate="description_member_search">
This search form enables you to find users by specifying one or more
search criteria.
</p>
<script language="javascript">
function Hinzufuegen () {
NeuerEintrag = new Option(document.newProject.member_list.value, document.newProject.member_list.value, false, true);
document.newProject.mitarbeiter.options[document.newProject.mitarbeiter.length] = NeuerEintrag;
document.newProject.member_list.value = "";
}
</script>
<script language="javascript">
function Loeschen () {
i=0;
selectedMember = document.newProject.mitarbeiter.value;
//alert (selectedMember);
mitgliederAnzahl= document.newProject.mitarbeiter.length;
//alert (mitgliederAnzahl);
for(i = 0; i < mitgliederAnzahl; i++){
listMember = document.newProject.mitarbeiter.options[i].value;
//alert (listMember);
//alert (i);
if(listMember== selectedMember){
//alert ("geloescht");
document.newProject.mitarbeiter.options[i]= null;
break;
}
}
}
</script>
<form action="gespeichert"
method="post"
name="newProject">
<fieldset>
<legend i18n:translate="legend_member_search_criteria">User Search Criteria</legend>
<div class="field">
<label i18n:translate="label_titel">Titel</label><br>
<input type="text"
name="titel"
value="Mein erstes Plone Projekt"
size="25"
tabindex=""
tal:attributes="tabindex tabindex/next;"
/>
</div>
<div class="field">
<select name="mitarbeiter" size="5">
<select>
</div>
<div class="field"
tal:define="members python:here.getMitarbeiter()">
<select name="member_list">
<tal:block tal:repeat="member members">
<option tal:attributes="value member/name">
<h1 tal:content="member/name" />
</option>
</tal:block>
</select>
</div>
<!--<div class="field">
<input type="text"
name="member_list">
</div>-->
<div class="field">
<input class="context"
size="150"
tabindex=""
name="add"
type="button"
onclick="Hinzufuegen()"
value="Member hinzufuegen"
tal:attributes="tabindex tabindex/next;" />
</div>
<div class="field">
<input class="context"
size="150"
tabindex=""
name="delete"
type="button"
onclick="Loeschen()"
value="Member loeschen "
tal:attributes="tabindex tabindex/next;" />
</div>
<!-- <div class="field">
<input class="context"
tabindex=""
name=""
type="button"
onclick="Members()"
value="Option einen Namen geben"
tal:attributes="tabindex tabindex/next;" />
</div>
-->
<div class="field">
<label i18n:translate="label_briefDescription">Kurzbeschreibung</label><br>
<input type="text"
name="kurzbeschreibung"
size="25"
tabindex=""
tal:attributes="tabindex tabindex/next;"
/>
</div>
<div class="field">
<label i18n:translate="label_projectContext">Projektinhalt</label><br>
<input type="text"
name="projektinhalt"
size="25"
tabindex=""
tal:attributes="tabindex tabindex/next;"
/>
</div>
<div class="formControls">
<input class="context"
tabindex=""
type="submit"
name="submit"
value="Save"
i18n:attributes="value label_save;"
tal:attributes="tabindex tabindex/next;"
/>
</div>
</fieldset>
</form>
</div>
</body>
</html>
Code: Alles auswählen
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"
metal:use-macro="here/main_template/macros/master"
i18n:domain="plone">
<metal:block fill-slot="top_slot"
tal:define="dummy python:request.set('disable_border',1)" />
<body>
<div metal:fill-slot="main"
tal:define="is_manager python: checkPermission('Manage portal', here);
save python:here.insertProjekt(request);
member python:request.get('mitarbeiter', None);
titel python:request.get('titel', None);
kurzbeschreibung python:request.get('kurzbeschreibung', None);
projektinhalt python:request.get('projektinhalt', None);">
<h1>Speicher Vorgang</h1>
<!--<div tal:content="request"></div>-->
<div tal:content="member">
</div>
<div tal:content="titel">
</div>
<div tal:content="kurzbeschreibung">
</div>
<div tal:content="projketinhalt">
</div>
</div>
</body>
</html>
Code: Alles auswählen
Site Error
An error was encountered while publishing this resource.
_mysql_exceptions.NotSupportedError
Sorry, a site error occurred.
Traceback (innermost last):
Module ZPublisher.Publish, line 194, in publish_module_standard
Module Products.PlacelessTranslationService.PatchStringIO, line 34, in new_publish
Module ZPublisher.Publish, line 157, in publish
Module Zope2.App.startup, line 243, in abort
Module transaction._manager, line 107, in abort
Module transaction._transaction, line 507, in abort
Module transaction._transaction, line 580, in abort
Module Shared.DC.ZRDB.TM, line 64, in abort
Module Products.ZMySQLDA.db, line 328, in _abort
NotSupportedError: (1196, "Warning: Some non-transactional changed tables couldn't be rolled back")
--------------------------------------------------------------------------------
Troubleshooting Suggestions
The URL may be incorrect.
The parameters passed to this resource may be incorrect.
A resource that this resource relies on may be encountering an error.
For more detailed information about the error, please refer to error log.
If the error persists please contact the site maintainer. Thank you for your patience.
Code: Alles auswählen
insert into projekt
values(
'',
<dtml-sqlvar titel type="string">,
<dtml-sqlvar mitarbeiter type="string">,
<dtml-sqlvar kurzbeschreibung type="string">,
<dtml-sqlvar projektinhalt type="string">
)
2. Problem:
Ich speichere oben in der Liste meine Mitarbeiter aber im Request auf der der nächsten Seite wird immer nur der letzte Mitarbeiter der Liste angezeigt bzw. mit übergeben. Weiß jemand weshalb ?

mfg mitch
ps: noch mal sorry wegen dem vielen Quelltext[/code]