首先,免责声明,我不是开发人员。我是具有普通网络技能的交互设计师,我正在尝试在非常有限的Google协作平台网站构建工具的范围内构建内部网。
我想要完成的事情:
我使用的是具有主页左侧导航功能的Google网站。这些主页都链接到产品页面,每个产品页面有7个子页面(有时更少,从不多)。
我希望这些子页面显示在顶部的水平行标签中。
问题:
Google网站构建工具非常有限。我可以让它出现一个自动子页面列表,但它提供的唯一选项是让链接列表出现在垂直列表中。
通过浏览Google网站帮助论坛,这是设计使然,因为Google似乎认为他们比任何人都更了解。响应是子页面列表应该只是垂直的,以便它有增长空间。
很公平,但我们已经为我们的产品页面标准化了结构,并且由于我们已经有了主要网页内容的垂直导航栏,因此设置第二级垂直菜单也是不好的设计实践,所以我们选择让子页面显示为水平导航栏。但是,Google网站构建工具无法提供任何方法。
我一直在寻找解决方案。我调查了AwesomeTables,是的,很棒,但我不想在电子表格中对我的子页面URL进行硬编码,这样我就可以让Web UI以我想要的方式显示和行为。< / p>
我不能放弃,但我已达到目前能力的极限,更不用说我的耐心了。这应该是一项简单的任务,我有同事等着我发布我们的内部网内容,以便我们能够回到高效的业务。
所以,最后,我的问题:
我是否可以使用Google Apps脚本创建一个水平行标签,这些标签针对当前顶级页面特定于上下文,并会自动生成指向相关子页面的链接?
这是Fetch URL可以做的吗?
我已经实现了一些预先制作的应用程序脚本,所以我理解了基本概念,但此时我无法创建自己的概念。
我已经能够使用Google网站构建工具中的自定义HTML小部件来创建CSS修饰标签,但我需要为每个子页面手动添加网址,这不会随着我的组织规模而扩展以及多位作者需要贡献的内容量。
Google协作平台已经有一个自动垂直子页面列表小部件。
我需要将该小部件显示为水平标签。
我的猜测是,可以使用Google Apps脚本中的大约7行代码完成。
有人可以提供一些关于这些代码行应该是什么样的指导吗? : - )
更新:我发现this answer我试图修改如下:
function doGet() {
var app=UiApp.createApplication().setTitle("Directory of this site")
var mainPanel = app.createAbsolutePanel().setStyleAttributes({background:'beige',padding:'20px'});
var scroll = app.createScrollPanel().setPixelSize(450,300);
var site = SitesApp.getSiteByUrl('https://<siteURL>/');
var thisPage = SitesApp.getActivePage();
var pages = thisPage.getAllDescendants();
var grid = app.createGrid(pages.length,2).setWidth(400)
for(n=0;n<pages.length;++n){
grid.setText(n, 0, pages[n].getName()).setWidget(n, 1, app.createAnchor('open', pages[n].getUrl()))
}
app.add(mainPanel.add(scroll.add(grid)))
return app
}
我认为通过添加一个新的var thisPage并让它调用getActivePages,然后我可以通过&#39;页面提供该变量。这样getAllDecendants就会被&#39; thisPage&#39;过滤掉。 ......
然而,它绘制了“网格”中定义的米色背景。样式,但我没有得到我的URL列表。
我的第一个障碍就是根据当前页面获取子页面列表。我不是在寻找为我编写的代码,但我非常感谢如何创建变量层次结构的一般帮助,以便我的getAllDecendants输出位于myPage变量的上下文中。
我会在后续问题中担心装饰,因为这个网格演示不是我想要的,但我会一次建立一个项目,因为我同意最初提出的问题有点宽泛。
非常感谢提前。
杰里米