ckeditor plugin κάποιες αλλαγές

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 15 Σεπ 2013 12:57

Γειά σας

Σε ένα plugin του ckeditor υπάρχει ο παρακάτω κώδικας

Κώδικας: Επιλογή όλων

function feedUlWithImages(dialog, ulObj) {
    for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
        var liObj = ulObj.append&#40; 'li' &#41;;
        aObj = liObj.append&#40; 'a' &#41;;
        aObj.setAttribute&#40; 'href', dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.URL&#93; &#41;;
        newImgDOM = aObj.append&#40;'img'&#41;;
        newImgDOM.setAttribute&#40; 'src', dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.URL&#93; &#41;;
        newImgDOM.setAttribute&#40; 'title', dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93;&#41;;
        newImgDOM.setAttribute&#40; 'alt', dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.ALT&#93;&#41;;
    &#125;
&#125;;
Που αποδίδει το παρακάτω html

Κώδικας: Επιλογή όλων

<li><a href="http&#58;//mylink.com/1.jpg"><img alt="sometext" src="http&#58;//mylink.com/1.jpg" title="moretext"/></a> </li>
Τι αλλαγές πρέπει να κάνω ώστε να πάρω το παρακάτω html?

Κώδικας: Επιλογή όλων

<h3>TheTextOf_IMG_PARAM.TITLE<h3>
<div>TheTextOf_IMG_PARAM.ALT</div>

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 15 Σεπ 2013 16:39

Δοκίμασα

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, Obj&#41; &#123;
    for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
        var h3Obj = Obj.append&#40; 'h3' &#41;;
    &#125;
&#125;;
και μου επιστρέφει <h3></h3>
πως μπορώ όμως να βάλω μέσα στο h3 την IMG_PARAM.TITLE?

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από alou » 15 Σεπ 2013 16:46

Φαντάχζομαι το append, μέσα στο loop σου, θα πρέπει να περιέχει κάτι του στυλ

'<h3>' + dialog.imagesList[IMG_PARAM.TITLE] + '</h3>'

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 15 Σεπ 2013 23:47

Εννοείς κάπως έτσι?

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, Obj&#41; &#123;
    for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
        var h3Obj = Obj.append&#40;'<h3>' + dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93; + '</h3>'&#41;;
    &#125;
&#125;; 
Το δοκίμασα και δεν επιστρέφει τίποτα

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 16 Σεπ 2013 01:04

Δοκίμασα το εξής:

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, ulObj&#41; &#123;
		for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
			var TitleDOM = ulObj.append&#40;'h3'&#41;;
			TitleDOM.setAttribute&#40; 'title', dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93; &#41;;
		&#125;
	&#125;;
και μου επιστρέφει
<h3 title="Ο_τίτλος_μου"></h3>

πως μπορεί να γίνει
<h3>Ο_τίτλος_μου</h3>

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από korgr » 16 Σεπ 2013 07:32

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, ulObj&#41; &#123; 
      for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123; 
         var TitleDOM = ulObj.append&#40;'h3'&#41;; 
         TitleDOM.html&#40; dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93; &#41;; 
      &#125; 
   &#125;;

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 16 Σεπ 2013 12:05

Korg ευχαριστώ για την απάντηση
Τώρα μου βγάζει στο firebug

TypeError: TitleDOM.html is not a function

TitleDOM.html( dialog.imagesList[IMG_PARAM.TITLE] );

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από alou » 16 Σεπ 2013 13:48

Βλέποντας το append έτσι θεώρησα (όπως και ο Kor φαντάζομαι) ότι χρησιμοποιείται jquery αλλά προφανώς είναι δικό του library. Δοκίμασε απλή js

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, ulObj&#41; &#123;
      for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
         var TitleDOM = ulObj.append&#40;'h3'&#41;;
         TitleDOM.innerHTML = &#40; dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93; &#41;;
      &#125;
   &#125;;

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 16 Σεπ 2013 15:25

Τώρα δε βγάζει σφάλμα αλλα δεν επιστρέφει και τον τίτλο.
Αφήνει το <h3> κενό.

Το δοκίμασα και με insertHtml αλλα τίποτα
www.ckeditor.com/forums/CKEditor-3.x/Ho ... ext-Editor

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από alou » 16 Σεπ 2013 16:03

Έχει μια μέθοδο appendHtml(html) αλλά δεν την εξηγεί, για δοκίμασε έτσι

Κώδικας: Επιλογή όλων

function feedUlWithImages&#40;dialog, Obj&#41; &#123;
    for &#40; var i = 0; i < dialog.imagesList.length  ; i++ &#41; &#123;
        var h3Obj = Obj.appendHtml&#40;'<h3>' + dialog.imagesList&#91;i&#93;&#91;IMG_PARAM.TITLE&#93; + '</h3>'&#41;;
    &#125;
&#125;; 
ή κάπως έτσι, γιατί πυροβολάμε στα τυφλά τώρα :D

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 17 Σεπ 2013 02:07

Να σαι καλά alou, αυτό ακριβώς ήθελε
Ευχαριστώ

Άβαταρ μέλους
geoki
Δημοσιεύσεις: 309
Εγγραφή: 07 Ιαν 2002 01:00
Τοποθεσία: Giannitsa

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από geoki » 17 Σεπ 2013 02:21

Και κάτι άλλο αν έχεις την καλοσύνη

Σε κάποιο σημείο έχει το παρακάτω script

Κώδικας: Επιλογή όλων

		
var scriptPlugin =  CKEDITOR.document.createElement&#40; 'script', &#123;
	attributes&#58; &#123;
		type&#58; 'text/javascript',
		src&#58; SCRIPT_JQUERY
	&#125;
&#125;&#41;;
pluginshowDOM.append&#40;scriptPlugin &#41;;
Που τοποθετεί την γραμμή <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

Την τοποθετεί μέσα στο pluginshowDOM που στην ουσία είναι ένα div . Μπορώ με κάποιον τρόπο να το τοποθετήσω έξω απο αυτό το div?
Να αφαιρέσω δηλαδή το pluginshowDOM.append?

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

ckeditor plugin κάποιες αλλαγές

Δημοσίευση από alou » 17 Σεπ 2013 09:34

Μπορείς να ορίσεις κάποιο άλλο στοιχείο στο οποίο θα το τοποθετήσεις, δεν ξέρω τις μεθόδους του CK Editor αλλά θα το 'πω' σε απλή javascript.

Ας πούμε ότι θες να μπεί το script σε ένα στοιχείο με id="foo", στην αρχή του

var scriptContainer = document.getElementById("foo");

επειδή δεν θέλουμε να αντικατασταθεί το περιεχόμενο και να μπει στην αρχή:

scriptContainer.innerHTML = scriptPlugin + scriptContainer.innerHTML;

Το σωστό ίσως θα ήταν να βρεις κάποια μέθοδο του CK editor για insert before, after κλπ από κάποιο στοιχείο βέβαια, γιατί να έχεις υπόψιν ότι με τον παραπάνω τρόπο, τα nodes δημιουργούνται από την αρχή και ότι listeners υπήρχαν, τα ξεχνάς.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες