Albums CMS Design Principles: Difference between revisions
(→AJAX) |
|||
| Line 25: | Line 25: | ||
===image rollovers=== | ===image rollovers=== | ||
Requires “poshytip” JavaScript library in addition to the JQuery libraries. | *Requires “poshytip” JavaScript library in addition to the JQuery libraries. | ||
JQuery handlers LITTLED.Gallery.bindAlbumListingsHandlers: | *JQuery handlers | ||
**<code>LITTLED.Gallery.bindAlbumListingsHandlers()</code>: | |||
<syntaxhighlight lang="javascript"> | |||
$('.album-tn', $p).poshytip(LITTLED.Gallery.preview_tt_properties); | $('.album-tn', $p).poshytip(LITTLED.Gallery.preview_tt_properties); | ||
Surround IMG element in ANCHOR tags. | </syntaxhighlight> | ||
IMG class="album-tn". This is the hook for JQuery handler. | **Surround IMG element in ANCHOR tags. | ||
href="javascript:void(0)" | **IMG class="album-tn". This is the hook for JQuery handler. | ||
When no thumbnail is available for the record: | **<code>href="javascript:void(0)"</code> | ||
<div class="error" style="text-align:center;">no thumbnail</div> | **When no thumbnail is available for the record: | ||
Follow the thumbnail IMG element with an IMG element containing the medium or full-sized image wrapped in SPAN tags, depending on which size should appear on rollover. | <syntaxhighlight lang="html4strict"><div class="error" style="text-align:center;">no thumbnail</div> | ||
SPAN class="tooltip-content" | </syntaxhighlight> | ||
The tooltip-content class will hide the full-sized image until a rollover event is captured by the thumbnail. | **Follow the thumbnail IMG element with an IMG element containing the medium or full-sized image wrapped in SPAN tags, depending on which size should appear on rollover. | ||
The IMG element doesn’t require any class attributes. | **SPAN class="tooltip-content" | ||
image lightbox | **The <code>tooltip-content</code> class will hide the full-sized image until a rollover event is captured by the thumbnail. | ||
Surround IMG element in ANCHOR tags. | **The IMG element doesn’t require any class attributes. | ||
===image lightbox=== | |||
href="javascript:void(0)" | *Surround IMG element in ANCHOR tags. | ||
**<A> class="img-details-link". This is the hook for JQuery handlers. | |||
<code>href="javascript:void(0)"</code> | |||
Requires a handler to be set in the Content Sections CMS: | **<A> attribute <code>data-id</code> stores the image_link record id | ||
Details URI: /_ajax/images/image_details.php | **<A> attribute <code>data-tid</code> Content type id. Make sure this is for the image and not its parent’s (the album record) content type. | ||
$('.img-details-link') handler | *Requires a handler to be set in the Content Sections CMS: | ||
**Details URI: <code>/_ajax/images/image_details.php</code> | |||
**<code>$('.img-details-link')</code> handler | |||
<syntaxhighlight lang="javascript"> | |||
$('.img-details-link', $p).click(LITTLED.Gallery.detailsDialog('gallery-dialog')); | $('.img-details-link', $p).click(LITTLED.Gallery.detailsDialog('gallery-dialog')); | ||
The $('.img-details-link') handler is rolled into LITTLED.Gallery.bindAlbumListingsHandlers() | </syntaxhighlight> | ||
The <code>$('.img-details-link')</code> handler is rolled into <code>LITTLED.Gallery.bindAlbumListingsHandlers()</code> | |||
[[Category:Albums CMS]] | [[Category:Albums CMS]] | ||
[[Category:CMS Documentation]] | [[Category:CMS Documentation]] | ||
Revision as of 01:04, 7 February 2012
AJAX
When adding a new album-based CMS section, the following files may need to be updated with the new content type:
/_classes/content/cache_class.php /_classes/content/resort_class.php
Obviously if a file includes the cache_class then the new content type will be available to that file.
PHP Classes
Classes derived from album_class and album_xpost_class that don’t have the same columns as those tables should set the db_field property value for those fields to FALSE in their class constructors.
$this->layout->db_field = false;
Listings
JavaScript/JQuery handlers
LITTLED.Gallery.bindAlbumListingsHandlers() The routine above doesn’t handle content refreshes. The code below adds that, along with some filtering utilities. This can be rolled up into a routine available through the LITTLED.CMS library.
LITTLED.init({ setSortables: LITTLED.Gallery.bindAlbumListingsHandlers });
LITTLED.Gallery.keywordAutocomplete();
LITTLED.setSortables();
$('.datepicker').datepicker();
$('.update-cache').click(LITTLED.updateCache);
image rollovers
- Requires “poshytip” JavaScript library in addition to the JQuery libraries.
- JQuery handlers
LITTLED.Gallery.bindAlbumListingsHandlers():
$('.album-tn', $p).poshytip(LITTLED.Gallery.preview_tt_properties);
- Surround IMG element in ANCHOR tags.
- IMG class="album-tn". This is the hook for JQuery handler.
href="javascript:void(0)"- When no thumbnail is available for the record:
<div class="error" style="text-align:center;">no thumbnail</div>
- Follow the thumbnail IMG element with an IMG element containing the medium or full-sized image wrapped in SPAN tags, depending on which size should appear on rollover.
- SPAN class="tooltip-content"
- The
tooltip-contentclass will hide the full-sized image until a rollover event is captured by the thumbnail. - The IMG element doesn’t require any class attributes.
image lightbox
- Surround IMG element in ANCHOR tags.
- <A> class="img-details-link". This is the hook for JQuery handlers.
href="javascript:void(0)"
- <A> attribute
data-idstores the image_link record id - <A> attribute
data-tidContent type id. Make sure this is for the image and not its parent’s (the album record) content type.
- <A> attribute
- Requires a handler to be set in the Content Sections CMS:
- Details URI:
/_ajax/images/image_details.php $('.img-details-link')handler
- Details URI:
$('.img-details-link', $p).click(LITTLED.Gallery.detailsDialog('gallery-dialog'));
The $('.img-details-link') handler is rolled into LITTLED.Gallery.bindAlbumListingsHandlers()