|
Certamente un effetto interessante per rendere accattivanti i nostri contenuti. Si, lo so, i migliori sono tutti con Flash...ma Flash non sempre è raccomandato nello sviluppo destinato ad un ampia multimedialità. Lo stesso IPhone ha difficoltà con Flash. Così, sacrificando un po' la scenografia sono andato alla ricerca di un bell'effetto page flip costruito come plugin di JQuery, da integrare in un modulo per Joomla 1.7
La mia fonte primaria di ispirazione è SmashingMagazine.com, veramente eccezionale! Aggrega un'infinità di risorse utili per ogni aspetto dello sviluppo di un'applicazione o sito destinato al web. Tra gli effetti JQuery portati in evidenza in un articolo ho trovato un rimando ad un'altra bellissima risorsa, con molti tutorial su JQuery, tra cui appunto un "Page-Flip". Il sito da cui ho tratto lo script è tympanus.netTra quelli analizzati mi è sembrato il più interessante ed il più adatto ad essere implementato in un semplice modulo. Questo è il Tutorial, questa è la Demo dello script e questo è il Link dove potete scaricare il pacchetto con i files da integrare in un modulo Joomla. Detto questo e ringraziando lo sviluppatore di questo/i plugin... andiamo a incominciare, non prima di avervi avvisato di rispettare la licenza degli script JQuery, che non sono di mia o di vostra proprietà. Per la rimozione di eventuali link allo sviluppatore chiedete sempre allo sviluppatore.
Bene, scaricato il pacchetto guardiamo cosa contiene: - La cartella "booklet" che contiene tutti gli script - La cartella dei css - La cartella dei font personalizzati - La cartella delle immagini - Il file html per visualizzare l'applicazione.
Visto che ci sono files di complemento al nostro modulo prevediamo una cartella "assets" che li conterrà; le immagini relative l'animazione verranno spostate nella cartella media all'interno di un'altra col nome del modulo, la pagina html diventerà la nostra pagina di default del template, dopo aver spostato nell'entry point gli script contenuti. Il nostro modulo si chiamerà mod_pflip e sarà composto da:
/mod_pflip ---/assets -------/css -------/booklet -------/images -------/cufon ---/tmpl ----- default.php ----- index.html ( file vuoto ) --- helper.php --- mod_pflip.xml --- mod_pflip.php --- index.html
Dovremo anche aggiungere la cartella con le immagini che verrà installata in /media/mod_pflip/ e i files .ini e .sys che servono per la lingua e che verranno installati in /languages/it-IT/
Vediamo per primo l'entry point mod_pflip.php
la prima riga sarà sempre:
<?php defined('_JEXEC') or die; //impedisce l'ingresso diretto nel file ?>
l'helper in questo caso non serve ma lo includiamo comunque, potrebbe tornare utile se volessimo implementare il nostro modulo
<?php require_once dirname(__FILE__).'/helper.php'; ?>
Includiamo prima i css: <?php JHTML::_('stylesheet', 'style.css', 'modules/mod_pflip/assets/css/');
JHTML::_('stylesheet', 'jquery.booklet.1.1.0.css', 'modules/mod_pflip/assets/booklet/'); ?>
I parametri di setup del modulo servono a valorizzare e quindi inizializzare lo script del plugin quindi sarà necessario aggiungere i capi per la configurazione nel file xml che vedremo dopo, quindi può darsi che questo passaggio vi si chiarisca più avanti, l'importante è capire che si possono impostare dei parametri di setup e recuperarli nel modulo così:
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
$name = htmlspecialchars($params->get('name'));
$width = htmlspecialchars($params->get('width'));
$height = htmlspecialchars($params->get('height'));
$speed = htmlspecialchars($params->get('speed'));
$direction = htmlspecialchars($params->get('direction'));
$startingPage = htmlspecialchars($params->get('startingPage'));
$easing = htmlspecialchars($params->get('easing'));
$easeIn = htmlspecialchars($params->get('easeIn'));
$easeOut = htmlspecialchars($params->get('easeOut'));
$closed = htmlspecialchars($params->get('closed'));
$closedFrontTitle = htmlspecialchars($params->get('closedFrontTitle'));
$closedFrontChapter = htmlspecialchars($params->get('closedFrontChapter'));
$closedBackTitle = htmlspecialchars($params->get('closedBackTitle'));
$closedBackChapter = htmlspecialchars($params->get('closedBackChapter'));
$covers = htmlspecialchars($params->get('covers'));
$pagePadding = htmlspecialchars($params->get('pagePadding'));
$pageNumbers = htmlspecialchars($params->get('pageNumbers'));
$hovers = htmlspecialchars($params->get('hovers'));
$overlays = htmlspecialchars($params->get('overlays'));
$tabs = htmlspecialchars($params->get('tabs'));
$tabWidth = htmlspecialchars($params->get('tabWidth'));
$tabHeight = htmlspecialchars($params->get('tabHeight'));
$arrows = htmlspecialchars($params->get('arrows'));
$cursor = htmlspecialchars($params->get('cursor'));
$hash = htmlspecialchars($params->get('hash'));
$keyboard = htmlspecialchars($params->get('keyboard'));
$menu = htmlspecialchars($params->get('menu'));
$pageSelector = htmlspecialchars($params->get('pageSelector'));
$chapterSelector = htmlspecialchars($params->get('chapterSelector'));
$shadows = htmlspecialchars($params->get('shadows'));
$shadowTopFwdWidth = htmlspecialchars($params->get('shadowTopFwdWidth'));
$shadowTopBackWidth = htmlspecialchars($params->get('shadowTopBackWidth'));
$shadowBtmWidth = htmlspecialchars($params->get('shadowBtmWidth'));
$before = htmlspecialchars($params->get('before'));
$after = htmlspecialchars($params->get('after'));
Nel pacchetto sorgente questi parametri li trovate commentati nell'index.html all'interno dello script di inizializzazione, che ora portiamo all'interno di questo file. Per poter richiamare gli script nell'head della nostra pagina dobbiamo ricorrere alla classe Document:
<?php $document = & JFactory::getDocument(); ?>
Quindi includeremo tutti gli script necessari contenuti nella cartella /booklet e /cufon:
<?php $document->addScript(JURI::root(true).'/modules/mod_pflip/assets/booklet/jquery-1.4.4.min.js');
$document->addScript(JURI::root(true).'/modules/mod_pflip/assets/booklet/jquery.easing.1.3.js');
$document->addScript(JURI::root(true).'/modules/mod_pflip/assets/booklet/jquery.booklet.1.1.0.min.js');
$document->addScript(JURI::root(true).'/modules/mod_pflip/assets/cufon/cufon-yui.js');
$document->addScript(JURI::root(true).'/modules/mod_pflip/assets/cufon/ChunkFive_400.font.js');
$document->addScript(JURI::root(true).'/modules/mod_pflip/assets/cufon/Note_this_400.font.js'); ?>
Ora non ci rimane che estrapolare gli script dalla pagina index.html. Prima quello che ci permette di usare font personalizzati, che verrà racchiuso in una "dichiarazione di aggiunta script" al Document, il metodo che ci fornisce il Framework per compiere questa operazione.
<?php $document->addScriptDeclaration("
Cufon.replace('h1,p,.b-counter');
Cufon.replace('.book_wrapper a', {hover:true});
Cufon.replace('.title', {textShadow: '1px 1px #C59471', fontFamily:'ChunkFive'});
Cufon.replace('.reference a', {textShadow: '1px 1px #C59471', fontFamily:'ChunkFive'});
Cufon.replace('.loading', {textShadow: '1px 1px #000', fontFamily:'ChunkFive'});
"); ?>
e ora lo script che inizializzerà il plugin e che verrà valorizzato con i parametri recuperati sopra, provenienti dal setup del nostro modulo:
<?php $document->addScriptDeclaration("
$(function() {
var mybook = $('#mybook');
var bttn_next = $('#next_page_button');
var bttn_prev = $('#prev_page_button');
var loading = $('#loading');
var mybook_images = mybook.find('img');
var cnt_images = mybook_images.length;
var loaded = 0;
mybook_images.each(function(){
var img = $(this);
var source = img.attr('src');
$('<img/>').load(function(){
++loaded;
if(loaded == cnt_images){
loading.hide();
bttn_next.show();
bttn_prev.show();
mybook.show().booklet({
name: $name,
width: $width,
height: $height,
speed: $speed,
direction: '$direction',
startingPage: $startingPage,
easing: '$easing',
easeIn: '$easeIn',
easeOut: '$easeOut',
closed: $closed,
closedFrontTitle: $closedFrontTitle,
closedFrontChapter: $closedFrontChapter,
closedBackTitle: $closedBackTitle,
closedBackChapter: $closedBackChapter,
covers: $covers,
pagePadding: $pagePadding,
pageNumbers: $pageNumbers,
hovers: $hovers,
overlays: $overlays,
tabs: $tabs,
tabWidth: $tabWidth,
tabHeight: $tabHeight,
arrows: $arrows,
cursor: '$cursor',
hash: $hash,
keyboard: $keyboard,
next: bttn_next,
prev: bttn_prev,
menu: $menu,
pageSelector: $pageSelector,
chapterSelector: $chapterSelector,
shadows: $shadows,
shadowTopFwdWidth: $shadowTopFwdWidth,
shadowTopBackWidth: $shadowTopBackWidth,
shadowBtmWidth: $shadowBtmWidth,
before: function(){ $before },
after: function(){ $after }
});
Cufon.refresh();
}
}).attr('src',source);
});
});
");
?>
Abbiamo quasi finito... non ci manca che usare l'helper dei moduli per arrivare al nostro template:
<?php require JModuleHelper::getLayoutPath('mod_pflip', $params->get('layout', 'default')); ?>
Se avessimo avuto bisogno di un nostro helper, quello che comunque abbiamo incluso sopra, possimo utilizzarlo usandone i metodi statici implementati in questo modo:
<?php $pflip = modPflipHelper::myfunction(); //Dove modPflipHelper è il nome della classe helper ?>
Per questo file è tutto, occupiamoci ora del template, ovvero del file default.php nella cartella /tmpl. E' buona norma aggiungere sempre in ogni cartella un file index.html vuoto, così che venga inibita la visualizzazione dei contenuti della directory. /tmpl/default.php Oltre al solito:
<?php defined('_JEXEC') or die; ?>
Mettiamo tutto l'html depurato da head, body e tutto il js che dovremmo avere già spostato. Io copio solo il primo pezzetto di codice, che è praticamente un pattern replicato, voi copiatelo tutto fino alla corretta chiusura del div:
<h1><?php echo JText::_('COM_PFLIP_GALLERYTITLE'); ?></h1>
<div>
<a id="next_page_button"></a>
<a id="prev_page_button"></a>
<div id="loading">Loading pages...</div>
<div id="mybook" style="display:none;">
<div>
// quello che segue è il pattern che visualizza le pagine, ogni blocco una pagina
<div>
<img src="/media/mod_pflip/images/1.jpg" alt=""/>
<h1>Slider Gallery</h1>
<p>This tutorial is about creating a creative gallery with a
slider for the thumbnails. The idea is to have an expanding
thumbnails area which opens once an album is chosen.
The thumbnails will scroll to the end and move back to
the first image. The user can scroll through the thumbnails
by using the slider controls. When a thumbnail is clicked,
it moves to the center and the full image preview opens.</p>
<a href="http://tympanus.net/codrops/2010/10/07/slider-gallery/" target="_blank">Article</a>
<a href="http://tympanus.net/Tutorials/SliderGallery/" target="_blank">Demo</a>
</div>
Quindi una volta che avete sperimentato potete vedere di farlo diventare dinamico, duplicando il modulo per varie gallerie, una ogni folder di /media/mod_pflip/, ad esempio. Ricordatevi di aggiustare il path delle immagini, puntando alla cartella /media/ come nel codice sopra. Se per errore la cartella non venisse installata potete tranquillamente crearla voi nella path indicata e spostarci le immagini dell'animazione
I due files della lingua: it-IT.mod_pflip.ini e it-IT.mod_pflip.sys.ini conterranno, il secondo i testi che compariranno nell'amministrazione, il primo tutti i commenti che l'autore dello script aveva posto accanto alle variabili nel js. Diventando come vedremo tra poco, dei parametri, avranno un form di input con dei campi "parlanti" it-IT.mod_pflip.sys.ini
MOD_PFLIP=""
MOD_PFLIP_XML_DESCRIPTION="Questo modulo è Pflip"
MOD_PFLIP_LAYOUT_DEFAULT="Pflip"
it-IT.mod_pflip.ini
;default Module template
MOD_PFLIP_GALLERYTITLE="Moleskine Notebook with jQuery Booklet"
; Administrator Module setup
MOD_PFLIP_IMGSOURCEDIR_LABEL="images directory"
MOD_PFLIP_IMGSOURCEDIR_DESC="images directory"
MOD_PFLIP_BOOKLET_NAME_LABEL="name of the booklet to display in the document title bar"
MOD_PFLIP_BOOKLET_NAME_DESC="name of the booklet to display in the document title bar"
MOD_PFLIP_WIDTH_LABEL="container width"
MOD_PFLIP_WIDTH_DESC="container width"
MOD_PFLIP_HEIGHT_LABEL="container height"
MOD_PFLIP_HEIGHT_DESC="container height"
MOD_PFLIP_SPEED_LABEL="speed of the transition between pages"
MOD_PFLIP_SPEED_DESC="speed of the transition between pages"
MOD_PFLIP_DIRECTION_LABEL=" direction of the overall content organization"
MOD_PFLIP_DIRECTION_DESC="direction of the overall content organization, default LTR, left to right, can be RTL for languages which read right to left"
MOD_PFLIP_STARTINGPAGE_LABEL="index of the first page to be displayed"
MOD_PFLIP_STARTINGPAGE_DESC="index of the first page to be displayed"
MOD_PFLIP_EASING_LABEL="easing method for MODplete transition"
MOD_PFLIP_EASING_DESC="easing method for MODplete transition"
MOD_PFLIP_EASEIN_LABEL="easing method for first half of transition"
MOD_PFLIP_EASEIN_DESC="easing method for first half of transition"
MOD_PFLIP_EASEOUT_LABEL="easing method for second half of transition"
MOD_PFLIP_EASEOUT_DESC="easing method for second half of transition"
MOD_PFLIP_CLOSED_LABEL="start with the book closed"
MOD_PFLIP_CLOSED_DESC="start with the book closed, will add empty pages to beginning and end of book"
MOD_PFLIP_CLOSEDFRONTTITLE_LABEL="determines title of blank starting page"
MOD_PFLIP_CLOSEDFRONTTITLE_DESC="used with closed, menu and pageSelector, determines title of blank starting page"
MOD_PFLIP_CLOSEDFRONTCHAPTER_LABEL="determines chapter name of blank starting page"
MOD_PFLIP_CLOSEDFRONTCHAPTER_DESC="used with closed, menu and chapterSelector, determines chapter name of blank starting page"
MOD_PFLIP_CLOSEDBACKTITLE_LABEL="determines chapter name of blank ending page"
MOD_PFLIP_CLOSEDBACKTITLE_DESC="used with closed, menu and pageSelector, determines chapter name of blank ending page"
MOD_PFLIP_CLOSEDBACKCHAPTER_LABEL="determines chapter name of blank ending page"
MOD_PFLIP_CLOSEDBACKCHAPTER_DESC="used with closed, menu and chapterSelector, determines chapter name of blank ending page"
MOD_PFLIP_COVERS_LABEL="makes first and last pages into covers"
MOD_PFLIP_COVERS_DESC="used with closed, makes first and last pages into covers, without page numbers (if enabled)"
MOD_PFLIP_PAGEPADDING_LABEL="padding for each page wrapper"
MOD_PFLIP_PAGEPADDING_DESC="padding for each page wrapper"
MOD_PFLIP_PAGENUMBERS_LABEL="display page numbers on each page"
MOD_PFLIP_PAGENUMBERS_DESC="display page numbers on each page"
MOD_PFLIP_HOVERS_LABEL="enables preview pageturn hover animation"
MOD_PFLIP_HOVERS_DESC="enables preview pageturn hover animation, shows a small preview of previous or next page on hover"
MOD_PFLIP_OVERLAYS_LABEL="enables navigation using a page sized overlay"
MOD_PFLIP_OVERLAYS_DESC="enables navigation using a page sized overlay, when enabled links inside the content will not be clickable"
MOD_PFLIP_TABS_LABEL="adds tabs along the top of the pages"
MOD_PFLIP_TABS_DESC="adds tabs along the top of the pages"
MOD_PFLIP_TABWIDTH_LABEL="width of the tabs"
MOD_PFLIP_TABWIDTH_DESC="set the width of the tabs"
MOD_PFLIP_TABHEIGHT_LABEL="height of the tabs"
MOD_PFLIP_TABHEIGHT_DESC="set the height of the tabs"
MOD_PFLIP_ARROWS_LABEL="adds arrows overlayed"
MOD_PFLIP_ARROWS_DESC="adds arrows overlayed over the book edges"
MOD_PFLIP_CURSOR_LABEL="cursor css setting"
MOD_PFLIP_CURSOR_DESC="cursor css setting for side bar areas"
MOD_PFLIP_HASH_LABEL="enables navigation using a hash string"
MOD_PFLIP_HASH_DESC="enables navigation using a hash string, ex: #/page/1 for page 1, will affect all booklets with \'hash\' enabled"
MOD_PFLIP_KEYBOARD_LABEL="enables navigation with arrow keys"
MOD_PFLIP_KEYBOARD_DESC="enables navigation with arrow keys (left: previous, right: next)"
MOD_PFLIP_MENU_LABEL="element to use as the menu area"
MOD_PFLIP_MENU_DESC="selector for element to use as the menu area, required for \'pageSelector\'"
MOD_PFLIP_PAGESELECTOR_LABEL="navigation with a dropdown menu of pages"
MOD_PFLIP_PAGESELECTOR_DESC="enables navigation with a dropdown menu of pages, requires \'menu\'"
MOD_PFLIP_CHAPTERSELECTOR_LABEL="navigation with a dropdown menu of chapters"
MOD_PFLIP_CHAPTERSELECTOR_DESC="enables navigation with a dropdown menu of chapters, determined by the rel attribute, requires \'menu\'"
MOD_PFLIP_SHADOWS_LABEL="display shadows on page animations"
MOD_PFLIP_SHADOWS_DESC="display shadows on page animations"
MOD_PFLIP_SHADOWTOPFWDWIDTH_LABEL="shadow width for top forward anim"
MOD_PFLIP_SHADOWTOPFWDWIDTH_DESC="shadow width for top forward anim"
MOD_PFLIP_SHADOWTOPBACKWIDTH_LABEL="shadow width for top back anim"
MOD_PFLIP_SHADOWTOPBACKWIDTH_DESC="shadow width for top back anim"
MOD_PFLIP_SHADOWBTMWIDTH_LABEL="shadow width for bottom shadow"
MOD_PFLIP_SHADOWBTMWIDTH_DESC="shadow width for bottom shadow"
MOD_PFLIP_BEFORECALLBACK_LABEL="callback invoked before"
MOD_PFLIP_BEFORECALLBACK_DESC="callback invoked before each page turn animation"
MOD_PFLIP_AFTERCALLBACK_LABEL="callback invoked after"
MOD_PFLIP_AFTERCALLBACK_DESC="callback invoked after each page turn animation"
Scusate ma non avevo voglia di tradurlo in italiano....
E ora il fatidico xml, quello che spiegherà all'installer di Joomla "cosa va dove" e creerà un form di configurazione nel pannello di amministrazione del modulo. mod_pflip.xml
<!-- prima parte "standard" che potete compilare con i vostri dati -->
<?xml version="1.0" encoding="utf-8"?>
<extension
type="module"
version="1.7"
client="site">
<name>mod_pflip</name>
<author>Spazioalchimia</author>
<creationDate>settembre 2011</creationDate>
<copyright>Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>vostra mail</authorEmail>
<authorUrl>www.spazioalchimia.it</authorUrl>
<version>1.7.0</version>
<description>MOD_PFLIP_XML_DESCRIPTION</description>
<!-- locations files e cartelle -->
<files>
<filename module="mod_pflip">mod_pflip.php</filename>
<filename>mod_pflip.xml</filename>
<filename>helper.php</filename>
<filename>index.html</filename>
<folder>tmpl</folder>
<folder>assets</folder>
</files>
<languages>
<language tag="it-IT">it-IT.mod_pflip.ini</language>
<language tag="it-IT">it-IT.mod_pflip.sys.ini</language>
</languages>
<media folder="mod_pflip" destination="../media">
<folder>images</folder>
</media>
<!-- link per eventuale help site/file -->
<help key="" />
<!-- e il form che ci permetterà di settari i parametri del nostro modulo -->
<config>
<fields name="params">
<fieldset name="sources">
<field
name="imlist"
type="folderlist"
default="media/mod_pflip/images/"
label="MOD_PFLIP_IMGSOURCEDIR_LABEL"
description="MOD_PFLIP_IMGSOURCEDIR_DESC"
directory="media/mod_pflip/"
exclude=""
stripext=""
/>
</fieldset>
<fieldset name="basic">
<field
name="name"
type="text"
label="MOD_PFLIP_BOOKLET_NAME_LABEL"
description="MOD_PFLIP_BOOKLET_NAME_DESC"
size="30"
default="null"
/>
<field
name="width"
type="text"
label="MOD_PFLIP_WIDTH_LABEL"
description="MOD_PFLIP_WIDTH_DESC"
size="4"
default="800"
/>
<field
name="height"
type="text"
label="MOD_PFLIP_HEIGHT_LABEL"
description="MOD_PFLIP_HEIGHT_DESC"
size="4"
default="500"
/>
<field
name="speed"
type="text"
label="MOD_PFLIP_SPEED_LABEL"
description="MOD_PFLIP_SPEED_DESC"
size="4"
default="600"
/>
<field
name="direction"
type="list"
label="MOD_PFLIP_DIRECTION_LABEL"
description="MOD_PFLIP_DIRECTION_DESC"
default="LTR" >
<option value="LTR">LTR</option>
<option value="RTL">RTL</option>
</field>
<field
name="startingPage"
type="text"
label="MOD_PFLIP_STARTINGPAGE_LABEL"
description="MOD_PFLIP_STARTINGPAGE_DESC"
size="2"
default="0"
/>
<field
name="easing"
type="list"
label="MOD_PFLIP_EASING_LABEL"
description="MOD_PFLIP_EASING_DESC"
default="easeInOutQuad" >
<option value="easeInOutQuad">easeInOutQuad</option>
</field>
<field
name="easeIn"
type="list"
label="MOD_PFLIP_EASEIN_LABEL"
description="MOD_PFLIP_EASEIN_DESC"
default="easeInQuad" >
<option value="easeInQuad">easeInQuad</option>
</field>
<field
name="easeOut"
type="list"
label="MOD_PFLIP_EASEOUT_LABEL"
description="MOD_PFLIP_EASEOUT_DESC"
default="easeOutQuad" >
<option value="easeOutQuad">easeOutQuad</option>
</field>
<field
name="closed"
type="list"
label="MOD_PFLIP_CLOSED_LABEL"
description="MOD_PFLIP_CLOSED_DESC"
default="true" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="closedFrontTitle"
type="text"
label="MOD_PFLIP_CLOSEDFRONTTITLE_LABEL"
description="MOD_PFLIP_CLOSEDFRONTTITLE_DESC"
size="30"
default="null"
/>
<field
name="closedFrontChapter"
type="text"
label="MOD_PFLIP_CLOSEDFRONTCHAPTER_LABEL"
description="MOD_PFLIP_CLOSEDFRONTCHAPTER_DESC"
size="30"
default="null"
/>
<field
name="closedBackTitle"
type="text"
label="MOD_PFLIP_CLOSEDBACKTITLE_LABEL"
description="MOD_PFLIP_CLOSEDBACKTITLE_DESC"
size="30"
default="null"
/>
<field
name="closedBackChapter"
type="text"
label="MOD_PFLIP_CLOSEDBACKCHAPTER_LABEL"
description="MOD_PFLIP_CLOSEDBACKCHAPTER_DESC"
size="30"
default="null"
/>
<field
name="covers"
type="list"
label="MOD_PFLIP_COVERS_LABEL"
description="MOD_PFLIP_COVERS_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="pagePadding"
type="text"
label="MOD_PFLIP_PAGEPADDING_LABEL"
description="MOD_PFLIP_PAGEPADDING_DESC"
size="3"
default="10"
/>
<field
name="pageNumbers"
type="list"
label="MOD_PFLIP_PAGENUMBERS_LABEL"
description="MOD_PFLIP_PAGENUMBERS_DESC"
default="true" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="hovers"
type="list"
label="MOD_PFLIP_HOVERS_LABEL"
description="MOD_PFLIP_HOVERS_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="overlays"
type="list"
label="MOD_PFLIP_OVERLAYS_LABEL"
description="MOD_PFLIP_OVERLAYS_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="tabs"
type="list"
label="MOD_PFLIP_TABS_LABEL"
description="MOD_PFLIP_TABS_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="tabWidth"
type="text"
label="MOD_PFLIP_TABWIDTH_LABEL"
description="MOD_PFLIP_TABWIDTH_DESC"
size="3"
default="60"
/>
<field
name="tabHeight"
type="text"
label="MOD_PFLIP_TABHEIGHT_LABEL"
description="MOD_PFLIP_TABHEIGHT_DESC"
size="3"
default="20"
/>
<field
name="arrows"
type="list"
label="MOD_PFLIP_ARROWS_LABEL"
description="MOD_PFLIP_ARROWS_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="cursor"
type="list"
label="MOD_PFLIP_CURSOR_LABEL"
description="MOD_PFLIP_CURSOR_DESC"
default="pointer" >
<option value="pointer">Pointer</option>
<option value="hand">Hand</option>
</field>
<field
name="hash"
type="list"
label="MOD_PFLIP_HASH_LABEL"
description="MOD_PFLIP_HASH_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="keyboard"
type="list"
label="MOD_PFLIP_KEYBOARD_LABEL"
description="MOD_PFLIP_KEYBOARD_DESC"
default="true" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="menu"
type="text"
label="MOD_PFLIP_MENU_LABEL"
description="MOD_PFLIP_MENU_DESC"
size="20"
default="null"
/>
<field
name="pageSelector"
type="list"
label="MOD_PFLIP_PAGESELECTOR_LABEL"
description="MOD_PFLIP_PAGESELECTOR_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="chapterSelector"
type="list"
label="MOD_PFLIP_CHAPTERSELECTOR_LABEL"
description="MOD_PFLIP_CHAPTERSELECTOR_DESC"
default="false" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="shadows"
type="list"
label="MOD_PFLIP_SHADOWS_LABEL"
description="MOD_PFLIP_SHADOWS_DESC"
default="true" >
<option value="true">True</option>
<option value="false">False</option>
</field>
<field
name="shadowTopFwdWidth"
type="text"
label="MOD_PFLIP_SHADOWTOPFWDWIDTH_LABEL"
description="MOD_PFLIP_SHADOWTOPFWDWIDTH_DESC"
size="4"
default="166"
/>
<field
name="shadowTopBackWidth"
type="text"
label="MOD_PFLIP_SHADOWTOPBACKWIDTH_LABEL"
description="MOD_PFLIP_SHADOWTOPBACKWIDTH_DESC"
size="4"
default="166"
/>
<field
name="shadowBtmWidth"
type="text"
label="MOD_PFLIP_SHADOWBTMWIDTH_LABEL"
description="MOD_PFLIP_SHADOWBTMWIDTH_DESC"
size="4"
default="50"
/>
<field
name="before"
type="textarea"
default=""
label="MOD_PFLIP_BEFORECALLBACK_LABEL"
description="MOD_PFLIP_BEFORECALLBACK_DESC"
rows="4"
cols="30"
/>
<field
name="after"
type="textarea"
default=""
label="MOD_PFLIP_AFTERCALLBACK_LABEL"
description="MOD_PFLIP_AFTERCALLBACK_DESC"
rows="4"
cols="30"
/>
</fieldset>
<fieldset name="advanced">
<field
name="moduleclass_sfx"
type="text"
label="MOD_PFLIP_FIELD_MODULECLASS_SFX_LABEL"
description="MOD_PFLIP_FIELD_MODULECLASS_SFX_DESC"
/>
</fieldset>
</fields>
</config>
<!-- Quindi la chiusura della nostra estensione -->
</extension>
Se volete avere a disposizione anche il vostro helper helper.php
<?php
class modPflipHelper{
//myclass
}
Bene! ...finito! possimo impacchettarlo e installarlo e se non volete fare nemmeno questa fatica potete scaricare il pacchetto pronto quì. (..a breve)
|