三组 Smalltalk Seaside 显示而不使用表格

标签 smalltalk seaside

我为我本地的塑料模型俱乐部建立了一个网站,该网站涉及在一个页面上显示多张图片。我喜欢并排展示他们 3 个。到目前为止,我使用的是一系列嵌套的表格代码,这变得非常困惑。

有没有更简单的方法。假设我有 12 张图像,我想向它们显示三横四行。我可以使用 html 表格、html 表格行等来做到这一点,但是如果有很多 if 语句等,它会变得非常复杂。

因为我每天都在维护网站时遇到问题,所以我已经删除了海边版本,但您可以在当前主页上看到显示类型的示例,网址为http://www.ipms-clacton.org.uk。在“成员(member)模特精选”下

大卫

最佳答案

如果您想以编程方式制作表格,您可以使用以下代码作为类(class)中的新消息。如果您将 htmlorderedCollection 传递给它,它会生成一个新表,其宽度为 3 个项目,行数与它所需的一样多。最后一行可以少于三个元素。您需要将其更改为显示图像而不是文本,但这是一个开始的地方。 removeFirst: 命令从有序集合中移除一些项目并将这些项目作为新集合返回。这使您可以将集合分解为各个行的元素。这是消息的定义:

make3Table: html using: anOrdCollection

html table: [ 
    [ anOrdCollection size >= 3 ] whileTrue: [ html tableRow: [
        (anOrdCollection removeFirst: 3) do: [ :item | html tableData: item ]
        ].
    ].
    anOrdCollection isNotEmpty ifTrue: [ 
        html tableRow: [ 
            anOrdCollection do: [  :item |  html tableData: item ]
        ]
    ].
]

关于三组 Smalltalk Seaside 显示而不使用表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71372867/

相关文章:

jquery - 海边 pharo Smalltalk 中的 JQPlot 错误

clojure - 注入(inject):into: in Smalltalk?的Clojure等价物是什么

smalltalk - 在 Pharo Smalltalk 中以编程方式创建和删除类

syntax - 有哪些基于文件的Smalltalks语法?

ubuntu - 在 Ubuntu 上为 Pharo/Seaside 部署设置什么文件权限和所有者

jquery - Seaside 定期更新 JQuery

menu - 管理 Squeak 中的顶级菜单项

Smalltalk 网页开发软件

jquery - 如何实时获取元素的位置

smalltalk - Seaside编程和其他网络编程有什么区别