2015-10-24 19 views
7

Im utilizzando CKeditor tuttavia lo collaudo in un ambiente di staging. Quindi lo trasferisco in produzione. Il problema è quando im linking non voglio usare mysite.com perché poi funzionerà solo su staging o produzione ma non su entrambi. Invece vorrei usare la mia variabile php basepath che determinerà automaticamente l'uso di mysite.com/ o staging.mysite.comCkeditor Link con basepath

C'è un modo per farlo con l'opzione di collegamento URL di CKeditor. Ho provato a installare a:

/myfolder/mypage.php 

Utilizzando l'altro protocollo, tuttavia imposta l'URL, http /// myfolder/mypage.php

questo è possibile o c'è un addon che può fare questo per me? il file

miei config.js come richiesto:

CKEDITOR.editorConfig = function(config) { 
// Define changes to default configuration here. For example: 
// config.language = 'fr'; 
// config.uiColor = '#AADC6E'; 
}; 

ho trovato il modo di cambiare il BasePath per CKEditor ma questo è proprio dove installare ckeditor percorso è, ho bisogno di impostare un percorso diverso, che è solo il BasePath

Giusto per chiarire come immagine parla più di mille parole e tutti:

suo questo creare un opzione di collegamento nella barra degli strumenti CKEditor che ti permette di creare un collegamento URL che mi riferisco a

enter image description here

+0

Si prega di inviare il vostro file di configurazione di – jpaljasma

+0

Aggiunto Config CKEditor come richiesto – user1547410

+1

perché usare un URL assoluto? basta usare un url relativo, e il browser lo determinerà per voi – hanshenrik

risposta

2

So che questo non è l'ideale in quanto è un hack, ma si può andare a trovare questo ckeditor/plugins/link/dialogs/link.js nel codice:

label:i.protocol,"default":"http://",items:[["http://‎","http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]] 

Poi basta aggiungere un'altra opzione nella matrice items come ["Base URL","/"].

Ho trovato questa soluzione che può anche soddisfare le vostre esigenze: http://ckeditor.com/forums/CKEditor-3.x/internal-pages-dropdown-link-dialog

Speranza che aiuta.

2

Dai un'occhiata allo this page della documentazione del ckeditor.

Qui dicono che è possibile impostare la BasePath utilizzando questa sintassi:

<script> 
    var CKEDITOR_BASEPATH = '/ckeditor/'; 
</script>  
<script src="all_my_scripts.js"></script> 

Non capisco davvero cosa il vostro problema è in realtà. Se si imposta semplicemente il percorso di base come un percorso relativo come questo, non sarà mai necessario cambiarlo modificando l'ambiente. Basta replicare la struttura delle cartelle tra sviluppo e produzione!

+0

Non è che il cepitatore basepath? Mi riferisco all'opzione della barra degli strumenti che consente di creare un collegamento URL nell'editor. Quando selezioni che ci sono un paio di protocolli URL diversi, email, url, ftp Voglio collegarmi a un URL, per esempio google.com/mypage/1. Ma sto provando su staging.google.com, quindi nel mettere in scena il link è rotto. Sto sperando in un modo per aggiungere un nuovo protocollo personalizzato che mi consenta di collegarmi a /Mypage/1 Mi scuso per non averlo spiegato meglio. Sentiti libero di fare altre domande se posso aiutare. Forse c'è un add on che fa questo, ma non riuscivo a trovarlo – user1547410

1

Impostare 'baseHref' della configurazione del ckeditor sull'URL corrente dell'ambiente in cui si sta correntemente , 'http://staging.google.com', ad esempio. Puoi iniziare a utilizzare i collegamenti relativi a tale percorso nel tuo editor. Se per esempio hai url che punta a un'immagine 'http://staging.google/images/example.jpg' inserisci semplicemente '/images/example.jpg' nell'editor e questo dovrebbe mostrare l'immagine reale. Spero che questo ti aiuti.

1

Credo che Mario Wakeel ha la risposta più vicina finora (si noti che è necessario essere alla ricerca in baseHref e non basePath):

http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-baseHref

Se è necessario impostare questa variabile a livello di codice, ho Supponiamo che tu debba utilizzare un semplice codice sul lato server per controllare da quale dominio è stato effettuato l'accesso all'editor (prima che la configurazione sia caricata).

1

Se si dà un'occhiata ai ckeditor.js si vedrà questa linea:

Si prega di impostare la variabile globale "CKEDITOR_BASEPATH" prima di creare le istanze dell'editor.

Quindi, se si desidera impostare il percorso di base in modo che tutti i file di upload e di collegamento hanno il percorso corretto, basta anteporre questa linea in ckeditor.js il file

CKEDITOR_BASEPATH = your_relative_path

oppure è possibile impostare una variabile globale come questa

var CKEDITOR_BASEPATH = your_relative_path;

prima di includere ckeditor.js