Ho quasi totalmente abbandonato la professione che mi legava a questo forum, ma è sempre un piacere vedere la vostra attività viva e vegeta, votata al cambiamento e ai miglioramenti.
Grande Giorgio e grandi ragazzi, tutti!
AleCss
Ho quasi totalmente abbandonato la professione che mi legava a questo forum, ma è sempre un piacere vedere la vostra attività viva e vegeta, votata al cambiamento e ai miglioramenti.
Grande Giorgio e grandi ragazzi, tutti!
AleCss
Ho detto una stupidaggine, la tendina in rollover è un'immagine ripetuta orizzontalmente.
Al di la di questo ho analizzato più a fondo e ho capito che l'effetto che sto ricercando è generato in javascript, almeno così pare.
Sapreste darmi indicazioni su quale script utilizzare?
Grazie
Ciao ragazzi, vorrei ricreare un menu dropdown come questo: http://shop.callawaygolf.com/
Partendo dal presupposto che creo normalmente menu dropdown in css e che quindi non sono un principiante (si presumerebbe, dato che sono un web designer :D), nei menu che ho creato finora non avevo mai avuto il problema di avere la voce principale che rimane "accesa" (nel sito riportato ad esempio PUTTERS), come succede proprio nel sito che vi ho indicato. Di norma quando si passa alle voci della tendina, il rollover della voce principale si disattiva. Vorrei invece ricreare questo effetto.
Ho tentato di scandagliare il codice di quel sito, ma non ne sono venuto a capo. Pensavo fosse un'intera immagine, ma così non sembra e vorrei comunque evitare di usare immagini.
Ringrazio tutti colore che mi potranno dare indicazioni.
AleCss
Risolto ragazzi, ho preso un altro script molto buono come funzionamento e opzioni...tra l'altro sono riuscito anche a personalizzarlo minimamente...e questo va benissimo...
Se dovesse interessare a qualcuno, è questo: http://www.littlewebthings.com/2010/02/jquery-countdown-script/
Grazie comunque!
Ciao ragazzi, vi scrivo perché non riesco a far funzionare un semplice countdown che sfrutta jquery.
Lo trovate qui: http://keith-wood.name/countdown.html
Si tratta di caricare la libreria di jquery, includere lo script e il css del countdown e collegare lo script al div del countdown. Siccome io non so maneggiare jquery e tanto meno javascript, ho preso l'esempio che danno sul sito e ho tentato di replicarlo per poi modificare solo le cose che mi servono.
Il problema è che anche copiando l'esempio non funziona nulla.
L'esempio è qui: http://keith-wood.name/countdownBasics.html
Spero mi possiate dare un aiuto, grazie.
Ale
Certamente, eccolo:
[PHP]<?php global $shortname; ?>
<script type="text/javascript" src="<?php bloginfo('template_directory')?>/js/superfish.js"></script>
<script type="text/javascript">
//<![CDATA[
jQuery.noConflict();
jQuery('ul.superfish, #page-menu ul.nav').superfish({
delay: 200, // one second delay on mouseout
animation: {opacity:'show',height:'show'}, // fade-in and slide-down animation
speed: 'fast', // faster animation speed
autoArrows: true, // disable generation of arrow mark-up
dropShadows: false // disable drop shadows
});
jQuery('ul.nav > li > a.sf-with-ul').parent('li').addClass('sf-ul');
et_search_bar();
et_footer_improvements('#footer .footer-widget');
<!---- et_switcher plugin v1.3 ---->
(function($)
{
$.fn.et_switcher = function(options)
{
var defaults =
{
slides: '>div',
activeClass: 'active',
linksNav: '',
findParent: true, //use parent elements in defining lengths
lengthElement: 'li', //parent element, used only if findParent is set to true
useArrows: false,
arrowLeft: 'prevlink',
arrowRight: 'nextlink',
auto: false,
autoSpeed: 5000
};
var options = $.extend(defaults, options);
return this.each(function()
{
var slidesContainer = jQuery(this);
slidesContainer.find(options.slides).hide().end().find(options.slides).filter(':first').css('display','block');
if (options.linksNav != '') {
var linkSwitcher = jQuery(options.linksNav);
linkSwitcher.click(function(){
var targetElement;
if (options.findParent) targetElement = jQuery(this).parent();
else targetElement = jQuery(this);
if (targetElement.hasClass('active')) return false;
targetElement.siblings().removeClass('active').end().addClass('active');
var ordernum = targetElement.prevAll(options.lengthElement).length;
slidesContainer.find(options.slides).filter(':visible').hide().end().end().find(options.slides).filter(':eq('+ordernum+')').stop().fadeIn(700);
return false;
});
};
jQuery('#'+options.arrowRight+', #'+options.arrowLeft).click(function(){
var slideActive = slidesContainer.find(options.slides).filter(":visible"),
nextSlide = slideActive.next(),
prevSlide = slideActive.prev();
if (jQuery(this).attr("id") == options.arrowRight) {
if (nextSlide.length) {
var ordernum = nextSlide.prevAll().length;
} else { var ordernum = 0; }
};
if (jQuery(this).attr("id") == options.arrowLeft) {
if (prevSlide.length) {
var ordernum = prevSlide.prevAll().length;
} else { var ordernum = slidesContainer.find(options.slides).length-1; }
};
slidesContainer.find(options.slides).filter(':visible').hide().end().end().find(options.slides).filter(':eq('+ordernum+')').stop().fadeIn(700);
if (typeof interval != 'undefined') {
clearInterval(interval);
auto_rotate();
};
return false;
});
if (options.auto) {
auto_rotate();
};
function auto_rotate(){
interval = setInterval(function(){
var slideActive = slidesContainer.find(options.slides).filter(":visible"),
nextSlide = slideActive.next();
if (nextSlide.length) {
var ordernum = nextSlide.prevAll().length;
} else { var ordernum = 0; }
if (options.linksNav === '')
jQuery('#'+options.arrowRight).trigger("click");
else
linkSwitcher.filter(':eq('+ordernum+')').trigger("click");
},options.autoSpeed);
};
});
}
})(jQuery);
var $featuredArea = jQuery('#featured'),
$all_tabs = jQuery('#all_tabs');
if ($featuredArea.length) {
$featuredArea.et_switcher({
useArrows: true <?php if (get_option($shortname.'_slider_auto') == 'on') { ?>,
auto: true,
autoSpeed: <?php echo(get_option($shortname.'_slider_autospeed')); ?>
<?php }; ?>
});
};
if ($all_tabs.length) {
$all_tabs.et_switcher({
linksNav: 'ul#tab_controls li a'
});
};
<?php if (get_option($shortname.'_disable_toptier') == 'on') echo('jQuery("ul.nav > li > ul").prev("a").attr("href","#");'); ?>
<!---- Footer Improvements ---->
function et_footer_improvements($selector){
var $footer_widget = jQuery($selector);
if (!($footer_widget.length == 0)) {
$footer_widget.each(function (index, domEle) {
if ((index+1)%4 == 0) jQuery(domEle).addClass("last").after("<div class='clear'></div>");
});
};
};
<!---- Search Bar Improvements ---->
function et_search_bar(){
var $searchform = jQuery('#cat-nav div#search-form'),
$searchinput = $searchform.find("input#searchinput"),
searchvalue = $searchinput.val();
$searchinput.focus(function(){
if (jQuery(this).val() === searchvalue) jQuery(this).val("");
}).blur(function(){
if (jQuery(this).val() === "") jQuery(this).val(searchvalue);
});
};
//]]>
</script>[/PHP]
Questo è il codice del footer.php (ti avevo già risposto, ma vedo che non c'è il messaggio):
[PHP]<?php $fullWidthPage = is_page_template('page-full.php'); ?>
</div> <!-- end #main-content -->
</div> <!-- end-wrap -->
</div> <!-- end .container -->
</div> <!-- end #content -->
<div id="content-bottom">
<div class="container<?php if ($fullWidthPage) echo('nobg'); ?>"></div>
</div>
<div id="footer">
<div class="container clearfix">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Footer') ) : ?>
<?php endif; ?>
<div class="clear"></div>
</div> <!--end .container -->
</div> <!-- end #footer -->
<div id="footer-bottom">
<div class="container clearfix">
<?php global $is_footer;
$is_footer = true; ?>
<?php $menuClass = 'bottom-nav';
$footerNav = '';
if (function_exists('wp_nav_menu')) $footerNav = wp_nav_menu( array( 'theme_location' => 'footer-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'echo' => false, 'depth' => '1' ) );
if ($footerNav == '') show_page_menu($menuClass);
else echo($footerNav); ?>
<p id="copyright"><?php _e('Designed by ','TheSource'); ?> <a href="http://www.elegantthemes.com" title="Elegant Themes">Elegant Themes</a> - <?php _e('Customization by ','TheSource'); ?> <a href="http://www.alecss.it" title="AleCss Lab">AleCss Lab</a> | <?php _e('Powered by ','TheSource'); ?> <a href="http://www.wordpress.org">Wordpress</a></p>
</div> <!--end .container -->
</div> <!-- end-bottom -->
<?php include(TEMPLATEPATH . '/includes/scripts.php'); ?>
<?php wp_footer(); ?>
<?php wp_pagenavi(); ?>
<script src="<?php bloginfo('template_directory'); ?>/js/jquery.mCustomScrollbar.js" type="text/javascript"></script>
<script>jQuery(window).load(function() {jQuery("#mcs_container").mCustomScrollbar("vertical",400,"easeOutCirc",1.05,"auto","yes","yes",10);});</script>
</body>
</html>[/PHP]
Come puoi vedere lo script è caricato in fondo, prima della chiusura del body. È caricato prima lo script jquery.mCustomScrollbar.js e poi la funzione che vedi.
Mi da l'errore che ti ho descritto prima e cioè "Uncaught type error: object has no method 'draggable' " (sotto la riga "$dragger.draggable" all'interno dello script).
Non saprei come e cosa correggere, hai qualche idea?
Al momento lo scroller funziona a metà, nel senso che è comparso tutto lungo lo slider, come dovrebbe essere dalle prove che ho fatto precedentemente. Ma non scorre, è sempre bloccato.
Leggo solo ora, perché nel weekend ho staccato la spina...Intanto ti ringrazio molto per la disponibilità.
Ok, ho controllato l'ordine e c'erano degli errori, ora carico prima gli script da google e poi il resto.
Ti metto qui il codice che ho nel mio tag <head>:
[PHP]<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php elegant_titles(); ?></title>
<?php elegant_description(); ?>
<?php elegant_keywords(); ?>
<?php elegant_canonical(); ?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/pagenavi-css.css" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<link href="<?php bloginfo('template_directory'); ?>/css/jquery.mCustomScrollbar.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie6style.css" />
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">DD_belatedPNG.fix('img#logo, #cat-nav-left, #cat-nav-right, #search-form, #cat-nav-content, div.top-overlay, .slide .description, div.overlay, a#prevlink, a#nextlink, .slide a.readmore, .slide a.readmore span, .recent-cat .entry .title, #recent-posts .entry p.date, .footer-widget ul li, #tabbed-area ul#tab_controls li span');</script>
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie7style.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie8style.css" />
<![endif]-->
<script src="<?php bloginfo('template_directory'); ?>/js/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="<?php bloginfo('template_directory'); ?>/js/jquery.mousewheel.min.js" type="text/javascript"></script>
<script type="text/javascript">
document.documentElement.className = 'js';
</script>
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
<?php wp_head(); ?>
</head>[/PHP]
Ora Chrome mi sa solo un errore relativo al metodo "draggable", nello scrip che carico prima della chiusura del body, nel file footer.php. È chiaro che li è presente solo quello scrip, ma siccome è incluso header.php, dovrebbero essere già caricati prima tutti gli altri...però mi sa che non è così...come posso correggere?
Grazie ancora per la pazienza.
Ciao a tutti, dal titolo vi potrà sembrare una situazione già trattata, trita e ritrita...ma vi assicuro che non ne vengo a capo. Ho cercato sul web da tutte le parti e ho trovato chiaramente molte risorse, ho provato tutti i vari metodi consigliati, ma senza risultati.
Il nocciolo della questione riguarda un scrolling in Jquery, lo potete vedere facilmente qui http://manos.malihu.gr/jquery-custom-content-scroller
La pagina in cui devo inserirlo è questa: http://wordpresstest.alecss.it/gare/
Al momento è già inserito, ma come potete notare non funziona.
Si tratta di inserire tre script: due che vanno nell'header e un terzo che va caricato insieme ad una funzione appena prima della chiusura del tag body (immagino per alleggerire).
Detto questo, ho sperimentato diversi metodi, dall'usare la funzione wp_enqueue_script a caricare jquery direttamente da google, al sostituire il simbolo $ con "jquery" (dove chrome mi dava l'errore).
Il problema è che dopo avere letto un sacco di cose su come risolvere la questione, non l'ho risolto primo e ora ho le idee ancora più confuse.
Quindi, chi volesse aiutarmi dovrebbe darmi un'idea generale della cosa, partendo da zero e a passi. Io non sono uno sviluppatore e non conosco bene l'utilizzo di jquery.
C'è da sottolineare che il template di wp che utilizzo carica già da sé degli script in jQuery, oltre ad avere attivi dei plugin che ho messo io. Il conflitto più grande che ho notato è quello relativo alla pagina "contatti", dove ho caricato un plugin per google maps. La mappa infatti sparisce una volta che carico i nuovi script, nonostante poi lo scroller non funzioni. Anche disattivando il plugin citato non cambia niente. Credo proprio sia un problema si jQuery.
I messaggi di errore che mi da al momento chrome sono questi:
Questi tipi di errori li ho cercati sul web, ma non riesco ad interpretarli a dovere, tanto che non capisco cosa ci sia di sbagliato.
Spero mi possiate aiutare, perché ne sto uscendo pazzo!
Grazie.
Grazie Luca, sembra molto semplice e funzionale. Lo proverò e poi ti dico.
Dimenticavo, ora ho fatto un esempio con la dichiarazione di una variabile. La variabile alla fine sarà sempre una, $page, ma avrà valori diversi. Quindi dovrei specificare nella dichiarazione ogni singolo valore che può assumere?
Non sono pratico di php, non ho capito molto bene ciò che mi hai scritto.
Ho elaborato insieme ad un amico un'altra possibilità: dichiarare nella pagina che richiama head.php una variabile prima dell'include, ad esempio page1.
Poi nell'if di head.php inserire una nuova condizione. Ed uscirebbe questo:
Nelle pagine che richiamano head.php (e quindi in tutte le pagg del sito) andrà questo:
[PHP]
$page = 'pagina1'
[/PHP]
Mentre in head.php andrà questo:
[PHP]
if( $page == 'pagina1' ){
$descrizione = "La descrizione della pagina 1";
}
if ($page == 'pagina2' )
{$descrizione = "La descrizione della pagina 2";
}
ecc...
[/PHP]
In questo modo si evita di creare un modulo in più e di conseguenza un'ulteriore chiamata al server.
Sicuramente ci saranno problemi di sintassi o mancherà qualcosa, tipo quello che mi hai scritto prima. Ma come logica può funzionare?
Se sì, potresti gentilmente spiegarmi a livello di sintassi come va scritto? Ti ringrazio.
Ale
Ciao a tutti, è da un'ora che spulcio il forum in cerca di una risposta al mio quesito, ma nonostante esistano già discussioni di questo genere, non ne sono venuto a capo.
Ho un sito in php, strutturato similmente ad un template wordpress, quindi con una serie di moduli caricati tramite "include".
Attualmente ho il meta tag description (come anche il keywords)presente nel modulo head.php, il quale è chiaramente caricato in ogni pagina del sito. Come conseguenza, il meta description è identico in tutte le pagine.
Qual è il modo più semplice per diversificare il meta description per ogni pagina?
Cercando qua e là ho capito che si può fare una cosa di questo tipo: creare prima di tutto un modulo chiamato ad esempio metatags.php, dentro al quale inserire una cosa del genere:
[PHP]<?php
if (pagina1.html) {
$descrizione = "La descrizione della pagina 1";
}
if (pagina2.html){
$descrizione = "La descrizione della pagina 2";
}
ecc.
?>[/PHP]
Dopodiché richiamare tale modulo nell'head.php attraverso include e per ogni pagina nel meta tag description inserire come valore di content $description.
A parte che non so assolutamente se la sintassi possa funzionare, oltre al funzionamento in sé della cosa, mi sorge un dubbio: in ogni pagina è richiamato l'head.php...dove vado a mettere il meta tag description?! Si può creare lo stesso un header in html (<head></head>) nonostante la chiamata dell'head.php? Non si avrebbe così un header doppio?
Attendo il vostro aiuto.
Ale
Sì, certo sono d'accordo con te. Però se si inizia ad aggiungerne molti, si arriva anche intorno al centinaio di euro, che comunque non è una piccola spesa.
Sarebbe forse meglio fare una scelta oculata su quei domini con keywords che davvero potrebbero fare la differenza.
Se si prende in considerazione l'utilizzo anche di landing page come dici, allora forse il discorso diventa un po' più ampio.
Ciao ragazzi, sto per porvi una questione molto elementare, ma che mi riserva ancora dei dubbi.
L'acquisto di più domini per posizionare un solo sito vale il costo di tali domini?
Esempio semplicissimo:
Dominio turismo.com
Presupponendo che voglia dare visibilità al turismo nella città di Taranto, acquisto anche:
Chiaramente il sito sarà sul domino principale, gli altri saranno tutti redirect.
Mi sto trovando a dover adottare soluzioni di questo genere, ma non avendo mai fatto test adeguati, ma soprattutto approfonditi, non so se valga la spesa, oppure se è meglio acquistare ad esempio solo il .com e l'.it e impiegare risorse su altri fattori che sappiamo essere molto importanti.
In definitiva, possono farmi la differenza quei domini sulle relative chiavi di ricerca (in essi contenute)?
Io credo di no, però attendo i vostri pareri.
Grazie
Guardate un attimo qui:
Mi è spuntata fuori oggi per la prima volta questa "personalized search" e io non ho toccato nulla nell'area Ricerca personalizzata...
Voi che sappiate non è che è un aggiornamento di qualche plugin SEO? Ne ho installati alcuni su Chrome...In ogni caso carina questa cosa dei numeri. Tra l'altro è indicato anche il pr direttamente in ricerca (questo mi fa pensare ad un aggiornamento dei plugin)
Che mi dite?
Per quanto riguarda l'anteprima, piccola innovazione secondo me utile.
Ancora alle prese con il testo di Flash...Mi si è presentato un maledetto problema relativo alla spaziatura di testo statico reso selezionabile (tramite pulsantino Ab).
Partiamo dal presupposto che rendendo il teto selezionabile questo aumenta stranamente lo spazio tra le lettere, sballando tutti gli spazi. Fosse solo questo il problema, si potrebbe risolvere abbastanza agevolmente. Il mio vero problema consiste nel dover per forza dare una dimensione più grande alla casella di testo rispetto allo spazio occupato dal testo, perché altrimenti sulle destra il testo mi viene tagliato.
Vi metto il sito dove ho il problema, così capite molto meglio: www.enersolare.com
Come vedete il tutto è contenuto dentro un'area ben definita (il sito non l'ho fatto io, me ne guardo bene da usare flash) e come lo vedete ora il testo non è selezionabile (ed è a posto).
Se io lo rendessi selezionabile, oltre a "stretcharsi", mi crea grossi problemi di visualizzazione per il fatto che ogni casella di testo richiede uno spazio aggiuntivo per visualizzare tutto il contenuto. Inoltre, se io imposto queste caselle di testo con anche lo spazio in più, l'area selezionabile si estende troppo a destra andando sui pulsantini di scroll e rendendoli inattivi.
Insomma, un casino.
Cosa mi consigliate? Io ho bisogno di avere testo selezionabile (per i motori).
Grazie della pazienza.
Perfetto! Io ci sarò penso entrambi i giorni...Per quanto riguarda le aree pranzo non saprei dire, però vedendo dalla piantina delle aree espositive sul sito dello IAB f, pare che i due bar siano entrambi al livello 1 (esiste anche un livello 0), situati uno a destra e uno a sinistra dell'area espositiva e dell'area workshop. Qui vedete il dettaglio http://www.iabforum.it/iab-forum-milano-2010/area-espositiva/area-espositiva-livello-1/
Decidiamo in quale incontrarci!