FCKeditor et type de liens

waouh

WRInaute discret
Bonjour,

je souhaite utiliser fckeditor sur un site.
J'ai crée ma toolbar perso en supprimant les outils dont je n'avais pas besoin.

Au niveau des liens, dans fckeditor, une popup s'ouvre qui donne accès à différentes options. dans le fichier fckconfig.js j'ai autorisé uniquement la création de lien simples donc pas la possibilité de choisir la target ni même l'ALT ou le TITLE il est juste possible de rentrer le nom de la page vers laquelle on veut faire un lien.

Ensuite, comme je ne souhaite pas faire de liens vers les FTP, les mails etc, dans le fichier fck_link.html j'ai supprimé les <select> qui permettent de choisir les autres protocoles (ftp et mails)

seulement, j'aimerais que les liens qui sont fait dans fckeditor soient tous en target _blank et en nofolow sans pour autant que le membre ait acces aux autres options que j'ai actuellement supprimé.

Dans quel fichier je dois modifier la structure du lien ?
 

jerome347

WRInaute occasionnel
Dans fck_link.html à l'endroit ou tu as supprimé les targets, il faudrait en fait ne laisser que le target blank en champs caché.

Comme ça le script prendra en compte ton champs blank caché sans l'afficher au visiteur/client/utilisateur.
 

waouh

WRInaute discret
alors, dans

j'ai mis :

Code:
FCKConfig.LinkDlgHideTarget		= true ;
FCKConfig.LinkDlgHideAdvanced	= true ;

Comme ca, lorsque je cree un liens, il ne me propose pas la destination donc la target ni l'onglet avancé qui gere le css

ensuite dans j'ai modfier le code suivant :

Code:
<td nowrap="nowrap">
							<span fckLang="DlgLnkProto">Protocol</span><br />
							<select id="cmbLinkProtocol">
								<option value="http://" selected="selected">http://</option>
								<option value="https://">https://</option>
								<option value="ftp://">ftp://</option>
								<option value="news://">news://</option>
								<option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
							</select>
						</td>
Par :

Code:
<td nowrap="nowrap">
							<span fckLang="DlgLnkProto">Protocol</span><br />
							<select id="cmbLinkProtocol">
								<option value="http://" selected="selected">http://</option>
							</select>
						</td>

et aussi ce code :
Code:
<select id="cmbLinkType" onchange="SetLinkType(this.value);">
				<option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
				<option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
				<option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
			</select>

par :
Code:
<select id="cmbLinkType" onchange="SetLinkType(this.value);">
				<option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
			</select>

Ou est ce que je dois rajouter mon champ caché ?
en fait, j'aurais bien mis le protocole et et le type de liens en champs caché mais je ne vois pas ou les mettre ni comment.
 

jerome347

WRInaute occasionnel
C'est ce code :

Code:
						<span fckLang="DlgLnkTarget">Target</span><br />
						<select id="cmbTarget" onchange="SetTarget(this.value);">
							<option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
							<option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
							<option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
							<option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
							<option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
							<option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
							<option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
						</select>

Soit tu supprime toutes les options en ne laissant que le _blank.
Soit tu enleve tout (le menu déroulant ne s'affichera plus) et tu met :
Code:
<input id="cmbTarget" type="hidden" value="_blank" fckLang="DlgLnkTargetBlank">
et cela devrait avoir pour effet de tout mettre en _blank.
 

waouh

WRInaute discret
voila, je viens de reussir en fait dans fck_link.html j'ai mis
Code:
<input id="cmbTarget" type="hidden" value="_blank">

et j'ai modifié fck_link.js en mettant ca :

Code:
if( GetE('cmbTarget').value != 'popup' )
		SetAttribute( oLink, 'target', '_blank' ) ;
	else
		SetAttribute( oLink, 'target', null ) ;

au lieux de :

Code:
if( GetE('cmbTarget').value != 'popup' )
		SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
	else
		SetAttribute( oLink, 'target', null ) ;

et ca a l'air de bien fonctionner :d

merci a toi pour ton aide !!
 

BOUN

Nouveau WRInaute
Mieux que ca :

remplacer
Code:
// Target
if( GetE('cmbTarget').value != 'popup' )
      SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
   else
      SetAttribute( oLink, 'target', null ) ;

par
Code:
// Target
		if( GetE('cmbTarget').value == "" )
			SetAttribute( oLink, 'target', '_blank' ) ;
		else
			SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;

Si rien de spécifier, le target sera en _blank par defaut, et prendra la valeur definie si elle est choisie dans le <select>
Donc rien a toucher dans le HTML
 

Discussions similaires

Haut