所以我下载了并且非常喜欢开始使用 Kirby http://www.getkirby.com 对于那些不熟悉它是基于文件的 cms。
作为标准,您可以将一堆图像放在一个目录中,例如site/number1,它会在名为site.com/number1 的页面上为您创建一个图库。如果您的其中一张图片名为 example.jpg,您可以制作一个名为 example.txt 的文件,并放入与图片相关的内部信息,例如标题、日期等。
对于每个单独的图像都有一个文本文件并将图像分散在页面文件夹中的服务器周围的想法,我并不完全满意。
首先,我将大量图像放在资产中并向页面添加了一个变量,因此我只需将图像引用(例如 k-45)添加到 page.txt 中的列表中,例如
----
Imagelist: a-04, a-08, h-16, i-35
然后我添加了以下代码段:
<ul class="gallery">
<?php $imagelist= $page->imagelist();
if ($imagelist != ''){
$imagelistitem= explode(", ", $imagelist);
foreach ($imagelistitem as $image): ?>
<li><img src="<?php echo url('assets/artistswork/450/').$image.'.jpg' ?>" /></li>
<?php endforeach ;} ?>
</ul>
这会从中央银行生成一个图片库,效果很好。当然,比我更有经验的人可以添加一些有用的验证/纠错,但只要列表写得没有错误,它就可以正常工作。
到目前为止,这基本上是一个柯比问题,这是我的问题开始的地方。
接下来,我想从中央 csv 表中为图像绘制元数据。例如标题、日期、材料等。与 $image 变量相关的字段。
在我的 csv 中,第一列股票账簿代码将有一个与 $image 变量等效的图形,我想使用该行中的其余信息来填充一系列跨度,我可以使用 jquery 格式化并可能设置动画和解析到花哨的盒子等。
- 我需要一段更好的代码来从我的 csv 生成一个有效的数组。可能按股票账簿编号索引结果
- 以及一种查询它并将相关数组解析为要在注入中使用的变量列表的方法。
我想我可以将代码注入上面引用的转发器。
<span class="workTitle">$title</span>
<span class="workDate">$date</span>
<span class="workMaterial">$material</span>
<span class="workDimensions">$dimensions</span>
<span class="workPrice">$price</span>
我的 csv 的前几行是:
Stock book code,Date,Work Title,height,width,materials,Ownership
a-04,1962,River Barge,0,0,Oil on Board,Sold
a-08,1962,Thames Bridge Fantasy ,48,36,Oil on Board,Available
h-15,1963,Split Rocks,36,32,Oil on Board,Available
i-35,1964,Moon Dyptych,32,21,Oil on Board,Available
我真的不知道如何完成这件事。我知道这可能不是很困难,但我不是专家,在处理数组时当然不是。工作表在服务器上,并使用一些 php 我设法打印了 csv-array 结果,但没有标题是数组标题,它们只是被视为一条线,即较大数组中的第一个数组。
因此,实际上我正在从头开始解决我的问题的第二部分 - 不期望以任何方式提供完整的剪切和粘贴解决方案,但如果有人能指出我正确的方向,那就太好了。我没用过j-query,也不太懂php。但是,我不介意大量阅读并花时间自己动手,但我可以朝着正确的方向前进。
我发现的不完整的 csv-array 函数如下。可能必须从头开始:
<?PHP
function readCSV($csvFile){
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) ) {
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
}
// Set path to CSV file
$csvFile = 'http://localhost/peterliddle/assets/artistswork/imagemeta.csv';
$csv = readCSV($csvFile);
echo '<pre>';
print_r($csv);
echo '</pre>';
?>
这说明了这一点(还有 300 多个):
Array
(
[0] => Array
(
[0] => Stock book code
[1] => Date
[2] => Work Title
[3] => height
[4] => width
[5] => materials
[6] => Ownership
)
[1] => Array
(
[0] => a-04
[1] => 1962
[2] => River Barge
[3] => 0
[4] => 0
[5] => Oil on Board
[6] => Sold
)
[2] => Array
(
[0] => a-08
[1] => 1962
[2] => Thames Bridge Fantasy
[3] => 48
[4] => 36
[5] => Oil on Board
[6] => Available
)
[3] => Array
(
[0] => h-15
[1] => 1963
[2] => Split Rocks
[3] => 36
[4] => 32
[5] => Oil on Board
[6] => Available
)