Closed animaux closed 11 years ago
Da musst Du wohl selber graben, woran das liegt. Tut mir leid.
Mein Tipp wäre, dass es etwas mit dem Umstieg auf jQuery 2 zu tun hat.
War da schon am schauen, aber das sollte eigentlich API-Kompatibel mit 1.9 sein. Ich friemel mich mal rein :)
Danke trotzdem!
Ja, aber SSM ist nie unter 1.9 getestet worden und da gibt es Änderungen, wie auf Eigenschaften und Attribute zugegriffen werden kann (.attr()
vs. .prop()
).
Ups, stimmt, da ist ja 1.7.2
am Werk in Symphony 2.3.2
. Danke für den Tipp!
(apparently .attr()
and .prop()
are not the problem)
var height = subsection.find('#wrapper').outerHeight();
always returns 150px, if I change it to
var height = subsection.find('#wrapper div.contents').outerHeight();
it is calculated properly in the Safari console, but in the real backend it seems to add the value to the variable over and over again, resulting in an ever expanding drawer.
I’m lost at this point, can someone with better js-skills please join the fun, or point me in the right direction?
Wenn das Deine einzige Änderung ist, macht das nicht viel Sinn. Könntest Du vielleicht Deinen aktuellen Code hier auf Github veröffentlichen? Danke.
Ansonsten hab ich nur die .attr()
die attribute erzeugen durch .prop()
ersetzt, siehe hier;
Welche Zeile ist das mit der Höhe? Kannst Du das auch mal pushen?
Zeile 231, ist bei mir aber unverändert, also no need to push :)
So, ich habe mir das jetzt noch mal angeschaut: Wenn Du sagst, dass die Höhe immer wieder neu berechnet wird, dann liegt dieses nächste Problem mit aller Wahrscheinlichkeit im Resize-Plugin. Vielleicht funktioniert ja dies hier anstelle: https://github.com/cowboy/jquery-resize/pull/12
Hab grad mal zwei neuere Forks duchprobiert … kein Erfolg :(
Was wird denn hier in der Konsole ausgegeben?
subsection.find('#contents').on('resize.subsectionmanager', function(event, init) {
var height = subsection.find('#wrapper div.contents').outerHeight();
console.log(height, init, !iframe.is('.loading'), content.data('height'));
if(init == true || (!iframe.is('.loading') && content.data('height') !== height && height !== 0)) {
resize(content, iframe, body, height);
}
}).trigger('resize.subsectionmanager', [init]);
150 true false 150 375 true 150 375 true
Warum eigentlich subsection.find('#wrapper div.contents').outerHeight();
und nicht subsection.find('#contents').outerHeight();
? Also:
subsection.find('#contents').on('resize.subsectionmanager', function(event, init) {
var height = subsection.find('#contents').outerHeight();
console.log(height, init, !iframe.is('.loading'), content.data('height'));
if(init == true || (!iframe.is('.loading') && content.data('height') !== height && height !== 0)) {
resize(content, iframe, body, height);
}
}).trigger('resize.subsectionmanager', [init]);
subsection.find('#contents').outerHeight();
führt leider auch zum sich endlos immer weiter ausdehnenden Drawer … :(
Ich versteh die Vorgänge im SSM ja nur ansatzweise, aber es kommt mir so vor, als ob die height: 150px;
als html-Attribut style=
an den iframe
und div.contents
angehängt werden und dann erst via var height = subsection.find('#wrapper').outerHeight();
in Zeile 231 ausgelesen werden.
(arbeitet eigentlich jemand an einem SSM-artigen Aufsatz für die neuen Associations? :)
Okay, ich müsste mir das in Ruhe ansehen, habe aber derzeit keine eigene Installation mit Symphony 2.3.3 und Subsection Manager. Wie Du weißt ist ja der Support für dieses gute Stück eingestellt.
Ich versteh die Vorgänge im SSM ja nur ansatzweise, aber es kommt mir so vor, als ob die height: 150px; als html-Attribut style= an den iframe und div.contents angehängt werden und dann erst via var height = subsection.find('#wrapper').outerHeight(); in Zeile 231 ausgelesen werden.
Nein, dass die Stilattribute angehängt werden ist die Konsequenz aus subsection.find('#wrapper').outerHeight();
– 150 Pixel ist die Standardhöhe eines iframe
-Elementes in Safari.
subsection.find('#contents').outerHeight(); führt leider auch zum sich endlos immer weiter ausdehnenden Drawer … :(
Den Werten aus der Konsole nach zu Folge, die Du zuvor gepostet hast, misst der überhaupt nicht die Höhe des Frames aus. 150 ist die Standardhöhe des Frames, 375 die des Duplicators, das ist pures CSS.
(arbeitet eigentlich jemand an einem SSM-artigen Aufsatz für die neuen Associations? :)
Nein, weil es aus meiner Sicht zu fraglich ist, wie und ob es mit Symphony weitergeht, siehe https://github.com/symphonycms/symphony-next/issues/14.
Danke Nils!
Wenn Du bereit bist Zeit zu investieren kann ich Dir einen temporären Zugang zur betreffenden Website einrichten (auch wenn Du dann Zugriff auf meinen vermutlich beschämenden XSL-Code hast …). Soll ich?
Gut zu wissen, das mit den 150px :)
Die Zukunft von Symphony macht mir auch etwas Sorgen. Wir bauen komplett darauf, weil wir bisher keine andere Lösung gefunden haben die ansatzweise so schön modular auf den jeweiligen Content zugeschnitten werden kann. Unsere Kunden sind auch alle sehr froh mit den weitestgehend prollproofen Backends.
Leider kann ich zu wenig beitragen, wie man ja an diesem Beispiel gut sieht.
Kennst Du denn Alternativen die eine ähnliche Philosophie verfolgen was die Content-Strukturen angeht?
Wenn Du bereit bist Zeit zu investieren kann ich Dir einen temporären Zugang zur betreffenden Website einrichten (auch wenn Du dann Zugriff auf meinen vermutlich beschämenden XSL-Code hast …). Soll ich?
Ist wahrscheinlich nicht nötig. Das Problem ist mehr die Zeit – diese Woche sieht es ziemlich schlecht aus. Nächste weiß ich noch nicht so genau, hängt davon ab, wie viel ich diese Woche schaffe :)
Die Zukunft von Symphony macht mir auch etwas Sorgen. Wir bauen komplett darauf, weil wir bisher keine andere Lösung gefunden haben die ansatzweise so schön modular auf den jeweiligen Content zugeschnitten werden kann. Unsere Kunden sind auch alle sehr froh mit den weitestgehend prollproofen Backends.
Wir setzen auch darauf. Das Problem ist, dass wir ein Konzept brauchen, worum es bei einer Weiterentwicklung von Symphony denn eigentlich gehen soll. Ich habe mit John Porter darüber gesprochen und wir sind uns grundsätzlich über die Richtung einig, aber es ist halt eine Frage von Zeit, Können und Geld. Ich kann auch nur UI-Arbeit beisteuern, dass macht aber noch kein Redaktionssystem.
Kennst Du denn Alternativen die eine ähnliche Philosophie verfolgen was die Content-Strukturen angeht?
Nein, keine die mich wirklich überzeugt. Vielleicht am ehesten noch Craft.
Kein Problem Nils, danke! Die Seite muss auch erst in ein paar Wochen komplett fertig sein. Craft hattest Du irgendwo schon einmal erwähnt, aber da hat mich das Lizenzmodell erstmal abgeschreckt … ich halte etwas die Augen offen, aber hoffe sehr, dass die Symphony-Entwicklung sich wieder fängt. Ich glaube ich hab nun schon fast 10 Sites damit gebaut, und mehr folgen …
aber da hat mich das Lizenzmodell erstmal abgeschreckt
Ja, das geht mir ähnlich. Aber die Basisversion ist kostenlos, so dass Du es auf jeden Fall so ausprobieren kannst. Problematischer ist die Frage der Lizenz: Was machst Du wenn der Laden dicht macht und Du keine Möglichkeiten hast, jemanden anderes das System weiterentwickeln zu lassen. Auch wenn es keine Garantie für eine gute Zukunft ist, ist das ein klarer Vorteil von Open Source.
Naja, wenn die dicht machen haben die zwei Möglichkeiten. Entweder die releasen es unter GPL/MIT was auch immer und schmeißen das Lizenzmodell weg oder sie machen sich jede menge Feinde.
Das problem von OSS ist halt, dass meistens kein Geld fließt, was aber nötig wäre um solche Projekte zu realisieren, und zwar professionell.
Wir werden sehen was passiert.
Besteht die Chance, dass Du nochmal drauf schaust Nils? blinzel
Ich bin ab morgen wieder im Büro, frag mich dann noch einmal.
Also, grundsätzlich liegt das Problem tatsächlich in einer falschen Höhenberechnung. Ich muss jetzt erstmal ein bisschen arbeiten, schaue mir das aber heute abend noch einmal an.
Prima! Danke schonmal.
Sorry, i had to post it here from the start :)
Height calculation still doesn't work for me, following height calculation returns array, not integer in my case:
https://github.com/hananils/subsectionmanager/blob/master/assets/subsectionmanager.publish.js#L233
Looks like Jquery bug/incompatibility (see http://bugs.jquery.com/ticket/12159) .
Simple trick that fixed the issue for me:
var height = $(this).outerHeight(false);
Version
3.1.1
, onSymphony 2.3.3RC3
miscalculates the height of the iframe content. In my case it always results in ´150px´.