7 Mart 2012 Çarşamba

XML İle Basit Web Sitesi - Simple Website With XML v3.5

AMAÇ

Bu çalışma, HTML tabanlı web sitelerini kolayca güncelleyebilmek amacıyla ortaya çıkmıştır. İlk iki sürümde site genelinde tamamen XML ve XSL kullanılmıştır. Bu sürümde ise web sitelerinde sıklıkla kullanılan haber, duyuru ve fotoğraf albümleri için tek bir XML dosyası basit bir veritabanı olarak düşünülmüştür. Bu XML dosyası, Jquery ile parse edilerek web sitesinde kullanılmaktadır. Çalışma aynı zamanda AJAX kullanımına örnek teşkil etmektedir.

ÖZELLİKLER
  • Haber, duyuru ve fotoğraf albümleri için ortak veri girişi
  • ... [devamı] özelliği
  • Otomatik fotoğraf linkleri oluşturma
  • Fancybox efektleri
  • daha fazla içerik >> özelliği
  • Haber Arşivi ve Fotoğraf Albümleri'nde yıllara göre gruplama
  • Basit Facebook 'loading' animasyonu
  • Sade tasarım

DEZAVANTAJLARI
  • Dinamik içerikten dolayı indexleme problemi (Google ...)
  • HTML kodlama
  • Basit düzeyde XML bilgisi

YAPI

Çalışmada iki temel dosya bulunmaktadır: items.xml, items.js

  • items.xml: Haber, duyuru ve fotoğraf albümleri verilerini içerir.
  • items.js: items.xml dosyasını parse eder ve ana sayfaya HTML verisi döndürür.

KULLANIM

items.xml'deki bir öğe (haber, duyuru ya da album) için kullanım kalıbı ve tam parametreleri şu şekildedir:

[sourcecode language="xml"]
<item id="" type="news|album|anno" subject="" date="dd.mm.yyyy" mainphoto="" mpwidth="" mpheight="" photocount="" active="1|0" main="1|0" rel="news|album">
<![CDATA[
...HTML Kodu...
]]>
</item>
[/sourcecode]

PARAMETRELER
  • @id : Öğe numarası. Aynı zamanda ilgili fotoğrafların yer aldığı klasör adı (/images/items/@id)
  • @type : Öğe türü. Haber için 'news', fotoğraf albümü için 'album', duyuru için 'anno'
  • @subject : Başlık
  • @date : Tarih. Format: dd.mm.yyyy
  • @mainphoto : Manşet fotoğrafı
  • @mpwidth : Manşet fotoğraf genişliği (Varsayılan 200px)
  • @mpheight : Manşet fotoğraf yüksekliği (Varsayılan 140px)
  • @photocount : Otomatik olarak linki oluşturulacak fotoğraf sayısı (Sadece .jpg)
  • @active : Öğenin site genelinde yayımlanıp yayımlanmayacağı
  • @main : Öğenin ana sayfada gösterilip gösterilmeyeceği
  • @rel : Öğenin aynı zamanda haberlerde veya albümlerde yer alıp almayacağı. Haberler için 'news', fotoğraf albümleri için 'album'

items.xml'de yer alan örnek bir haber aşağıdaki gibidir:

[sourcecode language="xml"]
<item id="8" type="news" subject="Lorem Ipsum Nedir?" date="25.12.2011" mainphoto="3.jpg" photocount="4" active="1" main="1" rel="album">
<![CDATA[
<p>Lorem Ipsum, dizgi ve baskı endüstrisinde kullanılan mıgır metinlerdir. </p>
]]>
</item>
[/sourcecode]

Habere ait 4 fotoğraf bulunmaktadır ve bunlara ilişkin 4 link oluşturulacaktır:
  • /images/items/8/1.jpg
  • /images/items/8/2.jpg
  • /images/items/8/3.jpg
  • /images/items/8/4.jpg

'3.jpg' manşet fotoğrafıdır. Haber ana sayfada gösterilecektir. Haber aynı zamanda fotoğraf albümlerinde de yer alacaktır.

HTML KODU

Öğe için yazılacak HTML kodu, CDATA bloğu içinde yer almalıdır. Örnek CDATA bloğu kullanımı yukarıdaki örneklerdeki gibidir. Metin içinde [...] kullanılarak '... [devamı]' özelliği verilebilir.

FANCYBOX KULLANIMI

Fancybox efektleri, .jpg, .gif ve .png uzantılı resimlere verilen linkler ile çalışacak şekilde kodlanmıştır. Örnek kullanım için items.xml dosyasını ve ayrıntılı bilgi için http://fancybox.net sitesini inceleyiniz.

EKRAN GÖRÜNTÜLERİ




DOSYALAR

Kaynak Kodu: Simple_Website_With_XML_v3.5_TR

Simple Website With XML v3.5

PURPOSE

This study has emerged to update HTML-based websites easily. At first two versions, XML and XSL were used completely in the entire website. In this version, a single XML file has been considered as a simple database ( for frequently used applications such as announcements, news and photo albums in websites). On website, this XML file is used by parsing with Jquery.  The study is also an example for AJAX usage.

FEATURES
  • Common data entry for news, announcements and photo albums
  • ... [more] feauture
  • Creating automatic photo links
  • Fancybox effects
  • more content >> feature
  • Grouping by years in news archive and photo albums
  • Simple Facebook 'loading' animation
  • Simple design

DISADVANTAGES
  • Indexing problem because of the dynamic content (Google ...)
  • HTML Coding
  • Simple level of XML

STRUCTURE

This study contains two base files: items.xml, items.js

  • items.xml: It saves news, announcements and photo albums datas.
  • items.js: It parses the items.xml and returns HTML content to main page.
USAGE

Usage form for an item (a news, an announcement or a photo album) in items.xml and all parameters are as shown below:

[sourcecode language="xml"]
<item id="" type="news|album|anno" subject="" date="dd.mm.yyyy" mainphoto="" mpwidth="" mpheight="" photocount="" active="1|0" main="1|0" rel="news|album">
<![CDATA[
...HTML Code...
]]>
</item>
[/sourcecode]

PARAMETERS
  • @id : Item id. At the same time the name of the folder containing the photos (/images/items/@id)
  • @type : Item type. 'news' for news, 'album' for photo albums, 'anno' for announcements.
  • @subject : Subject
  • @date : Date. Format: dd.mm.yyyy
  • @mainphoto : Headline photo
  • @mpwidth : Headline photo width (Default 200px)
  • @mpheight : Headline photo height (Default 140px)
  • @photocount : The number of photos. To create links to them automatically. (Only .jpg)
  • @active : Set this to "1", if you wish to publish the item on website. Otherwise "0".
  • @main : To publish the item on the main page, set this option to "1".
  • @rel : Use this option to publish the item on news archive or photo albums at the same time. 'news' for news, 'album' for photo albums.
A sample news in items.xml is as follows:

[sourcecode language="xml"]
<item id="8" type="news" subject="Suspendisse Vel Ipsum" date="25.12.2011" mainphoto="3.jpg" photocount="4" active="1" main="1" rel="album">
<![CDATA[
<p>Fusce aliquam felis vel metus molestie fringilla.</p>
]]>
</item>
[/sourcecode]

There are 4 photos of the news and 4 links will be created for them:
  • /images/items/8/1.jpg
  • /images/items/8/2.jpg
  • /images/items/8/3.jpg
  • /images/items/8/4.jpg
'3. Jpg ' is headline photo. News will be displayed on the main page. Photo albums will also include this item.

HTML CODE

HTML code for the item must be located within the CDATA block. Example usage of CDATA block is just as the examples above. By using '[...]' within the text/HTML code, the '... [more]' feature can be given.

USAGE OF FANCYBOX
Fancybox effects are coded to work with '.jpg', '.gif' or '.png' extension pictures links. Please, check the items.xml file for sample usage and http://fancybox.net for more information.

SCREENSHOTS




FILES

Full Source Code: Simple_Website_With_XML_v3.5_EN

Special thanks to Tuncay ÇELİK for his contributions to the English translation :)