Така че изтеглих и наистина ми хареса да започна с 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>
Това генерира галерия с изображения от централната банка и работи чудесно. Разбира се, някой по-опитен от мен би могъл да добави някакво полезно валидиране/корекция на грешки, но докато списъкът е написан без грешки, той работи добре.
Засега това по същество е проблем на Kirby, тук започва въпросът ми.
След това исках да начертая метаданни за изображенията от централен 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-масива, но без заглавката да е заглавието на масива, те просто бяха третирани като ред, първият масив в по-големия масив.
Така че наистина гледам да започна от нулата за втората част от моя проблем - не очаквам пълно решение за изрязване и поставяне по никакъв начин, но ако някой може да ме насочи в правилната посока, ще бъде страхотно. Не съм използвал j-query и не знам много php. Въпреки това нямам нищо против да чета много и да прекарвам времето си, за да работи сам, но бих могъл да се справя с точка в правилната посока.
Функцията в пълен csv-масив, която намерих, беше както следва. Може да се наложи да започнем отначало с него:
<?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
)