2011-11-02 105 views
0

我需要创建一个插入一些专有标记的菜单项,例如代码标记如如何在Dreamweaver中创建自定义插入菜单项?

<###LoginForm###> 

正如我的CMS所使用的。

我发现它非常困难 - 在逻辑上,根据文档,我应该可以通过在Program Files中的Dreamweaver文件夹中的配置/菜单中编辑menus.xml来完成。但这并不如预期的那样。我试图复制插入HR标签的项目,替换我的“标签”,但没有插入任何内容。

有在配置/对象/常见,在XML,这似乎包含的代码插入块引用的文件,即有一个HR.htm看起来像它应该插入<HR>但它插入<hr />当实际的菜单项在XHTML中使用,它们是否已过时?

我非常想有人给我一个万无一失的食谱来创建一个菜单,这将允许我插入我自己的标记式代码片段,如上所述。

回答

1

用于创建Dreamweaver扩展/插件的文档可能会有很大的改进。您可能会阅读如何添加菜单项,但它可能没有说明您应该在属性值中包含哪些内容来完成您想要的功能。试图复制别的东西是一个很好的起点,但是有些东西实际上可以起作用,这可能会有一些“魔力”。

如果这是一段代码,为什么不使用Snippets面板(Window - > Snippet)?你甚至可以选择分配一个键盘快捷键到单独的片段?

至于对象(插入菜单和插入栏用于向页面添加代码),内置标签(如HR)将标签的XHTML兼容版本插入到带有XHTML文档类型的文档中。这是设计,并且是Dreamweaver的内部。

如果您添加了以下菜单项menus.xml人力资源项目之上:

<menuitem id="DWMenu_Insert_LoginForm" name="LoginForm" enabled="(dw.getActiveWindow(true) != null && dw.getActiveWindow(true).allowsEdits()) && dw.getFocus() != 'browser' && dw.getDocumentDOM() != null && dw.getDocumentDOM().getParseMode() == 'html'" command="var dom = dw.getDocumentDOM(); var offsets = dom.source.getSelection(); dom.source.replaceRange(offsets[0], offsets[1], '<###LoginForm###>')" /> 

注:我搬到从文件属性路程,代替它允许运行JavaScript代码的命令属性,在这种情况下:

var dom = dw.getDocumentDOM(); var offsets = dom.source.getSelection(); dom.source.replaceRange(offsets[0], offsets[1], '<###LoginForm###>') 

它得到一个参考文件,发现文件中的选择偏移,并替换与您的代码块的选择。

我还没有以任何可能的方式测试过这个,但在纯HTML和XHTML文档中为我工作。

+0

这正是我所需要的。非常感谢你。 – AmbroseChapel

相关问题