| Wednesday 28 January 2004 4:54:57 am 
                                                                
                                                                 Hi togehter, 
here is an improvmenet of the Online Editor OE to create links with the self-evident "Insert Link" Buttons instead of object relation. This is for users a big advantage.I would appreciate it, if it will be taken into the new OE version - if there are no problems.
 
The installation is very easy, only copy the code in the two files in the extension/ezdhtml (editor-1.3).Because of the copyright of the ezdhtml product, I post only some lines of each file. But it should be quite easy to find the correct lines where to put in the code.
 
regards,andreas
 
extension/ezdhtml/modules/ezdhtml/insertlink.php:-----------------------------------------------------
 from Line 25: $classList =& $ini->variable( 'link', 'AvailableClasses' );
 
 // start modification$showClasses =& $ini->variable( 'link', 'ShowClasses' );
 $startNode =& $ini->variable( 'link', 'StartNode' );
 // end modification
 
 $Module =& $Params["Module"];
  $http =& eZHttpTool::instance();  $Module->setTitle( "Insert Link" );  $tpl =& templateInit(); 
 $tpl->setVariable( "class_list", $classList );$tpl->setVariable( "module", $Module );
 
 // start modification$tpl->setVariable("startNode", $startNode);
 $tpl->setVariable("showClasses", $showClasses);
 // end modification
 
 $Result = array();-----------------------------------------------------
 
extension/ezdhtml/design/standard/templates/ezdhtml/insertlink.tpl-----------------------------------------------------
 
Comment from line 34 the following code:<!--
 // to prevent a global onchange event I moved this to the select box.
 // <select name ="linkType" onChange="linkUrl.value=this.value">
 script language="javascript" for="linkType" event="onchange"
 linkUrl.value = linkType.value;
 /script
 // -->
 ....
 Copy the following e.g. between the input types "Text" and "Type": 
 <!-- start modification	--><tr>
 <td>Internal Links
 </td>
 <td>
 
 {let translation=ezini('URLTranslator','Translation')}
 
 <!-- Level 1 	 -->
 
 {let children=fetch('content','list',hash(parent_node_id,$startNode,
 class_filter_type, include,
 class_filter_array, $showClasses ) )}
 
 <select name ="linkType" align="left" onChange="linkUrl.value=this.value">
 <option value="">- - - - - - - - - - - - </option>
 {section name=Child loop=$children}
 
 
 {section show=eq($translation,'enabled')}
 <option value="{$Child:item.url_alias}"> -- {$Child:item.name}</option>
 {section-else}
 <option value="{concat('/content/view/full/',$Child:item.node_id)}"> -- {$Child:item.name}</option>
 {/section}
 
 <!-- Level 2	 -->
 
 {let sub_children=fetch('content','list', hash(parent_node_id, $Child:item.node_id,
 class_filter_type, include,
 class_filter_array, $showClasses ) )}
 
 {section name=SubChild loop=$:sub_children}
 
 {section show=eq($translation,'enabled')}
 <option value="{$Child:SubChild:item.url_alias}"> ---- {$Child:SubChild:item.name}</option>
 {section-else}
 <option value="{concat('/content/view/full/',$Child:SubChild:item.node_id)}"> ---- {$Child:SubChild:item.name}</option>
 {/section}
 <!-- Level 3 	 -->
 {let sub_sub_children=fetch('content','list', hash(parent_node_id, $Child:SubChild:item.node_id,
 class_filter_type, include,
 class_filter_array, $showClasses ) )}
 
 {section name=SubSubChild loop=$Child:SubChild:sub_sub_children}
 
 {section show=eq($translation,'enabled')}
 <option value="{$Child:SubChild:SubSubChild:item.url_alias}"> ------ {$Child:SubChild:SubSubChild:item.name}</option>
 {section-else}
 <option value="{concat('/content/view/full/',$Child:SubChild:SubSubChild:item.node_id)}"> ------ {$Child:SubChild:SubSubChild:item.name}</option>
 {/section}
 
 {/section}
 
 {/let}
 {/section}
 
 
 {/let}
 
 {delimiter modulo=$col_count}
 {/delimiter}
 {/section}
 </select>
 {/let}
 {/let}
 </td>
 </tr>
 <!-- end modification	-->
 -----------------------------------------------------
 
To configure which classes can be listed for linking, configure the content.ini.Set the StartNode to your appropriate Node ID.
 
settings/override/content.ini.append.php-----------------------------------------------------
 [link]
 StartNode=2
 ShowClasses[]=folder
 ShowClasses[]=info_page
 -----------------------------------------------------
 |