Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70

    richiamare variabile javascript su pagina php

    Ciao ragazzi
    non sono esperta in js chiedo perciò un vostro aiuto.
    ho questo js (inserisco solo una parte per essere più breve):
    codice:
    (function($, window, document, undefined) {
    	'use strict';
    
    
    	var gridContainer = $('.grid-items'),
    		filtersContainer = $('.portfolio-filters'),
    		wrap, filtersCallback;
    
    
    	gridContainer.cubeportfolio({
    		layoutMode: 'grid',
    		rewindNav: true,
    		scrollByPage: false,
    		defaultFilter: '*',
    		animationType: gridContainer.data('animation'),
    		gapHorizontal: gridContainer.data('gap'),
    		gapVertical: gridContainer.data('gap'),
    		gridAdjustment: 'responsive',
    in pratica c'è un parametro ovvero il defaultFilter che avrei bisogno fosse dinamico
    di conseguenza pensavo di richiamarlo nella pagina php per assegnarli il comando echo
    rendendolo dinamico.
    e' possibile farlo? potete consigliarmi qualcosa?
    Grazie mille

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    defaultFilter: '<?php echo $tuavariabile;?>',

    Funzionerà solo:
    - Al caricamento della pagina
    - Se il valore che passerai alla variabile js defaultFilter e ammesso dallo script

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70
    Ciao Andrea, grazie per la risposta,
    ho provato ad inserire come mi hai detto:

    codice:
    defaultFilter: '.<?php echo vntd_portfolio_item_class(); ?>',
    nel file js ma in pratica la pagina carica all'infinito
    mentre se metto direttamente la categoria fissa funziona così:

    codice:
    defaultFilter: '.miacategoria',


    ma nel js bisogna inserire una query per richiamare il db?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70
    forse ho capito male, dovrei mettere quella stringa non nel JS ma nella pagina PHP giusto?
    ma il codice da inserire in <script></script> come dovrei impostarlo oltre a defaultFilter: '<?php echo $tuavariabile;?>',


  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, certo, quello che ti ha indicato Andrea va messo direttamente nella pagina PHP. Non era chiaro che tu avessi un file JavaScript esterno.
    In tal caso potresti risolvere creando una variabile globale.
    Nella tua pagina PHP puoi inserire una cosa del genere:
    codice:
    <script type="text/javascript">
      var defaultFilter = '.<?php echo vntd_portfolio_item_class(); ?>';
    </script>
    Tieni presente che questa parte sarebbe da inserire presumibilmente prima dell'inclusione del file JavaScript esterno.

    A questo punto nel tuo script esterno potrai fare una cosa del genere:
    codice:
        gridContainer.cubeportfolio({
            layoutMode: 'grid',
            rewindNav: true,
            scrollByPage: false,
            defaultFilter: defaultFilter,
    In sostanza la variabile defaultFilter dichiarata per quell'oggetto, prenderà il valore della variabile globale defaultFilter (i nomi uguali potrebbero far confondere ma in questo caso si tratta di due variabili differenti).

    Prova e facci sapere.

    Chiaramente è possibile risolvere in tanti altri modi.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70
    grazie Killerworm, ho provato ma niente che nervi.
    scusate cercherò di spiegare meglio la situazione...

    sto utilizzando wordpress con un plugin per il portfolio
    questo plugin tramite un js (si chiama cubeportfolio) fa partire in automatico (show all) tutte le categorie
    di portfolio (tramite la funzione defaultFilter) e con dei filtri è possibile selezionare la categoria desiderata, se volete vedere un esempio:
    http://scriptpie.com/cubeportfolio/l...tes/12-agency/

    io invece vorrei che questa funzione fosse dinamica in modo che ciascuna pagina visualizzi la propria categoria di portfolio.

    tra l'altro il js in questione è nell'head e non posso spostarlo
    il codice della pagina php è quasi puro php

    codice:
    
    
    <?php
    
    
    
    
    
    
    // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    //        Portfolio Grid Shortcode
    // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    
    
    function vntd_portfolio_grid($atts, $content = null) {
        extract(shortcode_atts(array(
            "filter" => '',
            "filter_style" => '',
            "grid_title" => '',
            "thumb_style" => 'simple',
            "hover_style" => 'simple',
            "animation" => 'rotateSides',
            "posts_nr" => '',
            "cats" => '',
            "thumb_style" => '',
            "thumb_size" => 'square',
            "order" => '',
            "el_position" => '',
            "width" => '',
            "composer" => '',
            "paged_posts" => '',
            "more_url" => '',
            "thumb_space" => '',
            "cols" => '',
            "thumb_size" => '',
            "ajax" => ''
        ), $atts));
        
        
        wp_enqueue_script('cubePortfolio');
        wp_enqueue_script('cubeConfig');
        wp_enqueue_style('cubePortfolio');
        
        wp_enqueue_script('magnific-popup', '', '', '', true);
        wp_enqueue_style('magnific-popup');
        
        // Define container and item span value
        
        global $post;
    
    
        if(!$posts_nr) $posts_nr = "-1";
        $block_id = rand(5,5000);
        
        $layout_class = '';
        $item_class = 'boxed-item col-xs-4';    
        if($thumb_space == 'no') {
            $layout_class = 'fullwidth relative';
            $item_class = 'five';
            if($cols == "4") {
                $item_class = 'four';
            }
        }
        
        $thumb_gap = 30;
        if($thumb_space == "no") $thumb_gap = 0;
    
    
        ob_start();
    
    
        echo '<div class="portfolio vntd-portfolio-grid portfolio-style '.$layout_class.' portfolio-'.$hover_style.' portfolio-'.$thumb_style.' portfolio-cols-'.$cols.'">';
            if($filter == "yes") vntd_filters('project-type',$cats,$filter_style,$grid_title);
            echo '<div class="portfolio-items grid-items" data-cols="'.$cols.'" data-animation="'.$animation.'" data-gap="'.$thumb_gap.'">';
            wp_reset_postdata();
            $paged = '';
            //if($paged_posts == 'yes') {
                $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
            //}
            
            //echo $cats_arr."ECHO TEST | | ".$cats;
            
            $cats_arr = explode(" ", $cats);
            $args = array(
                'posts_per_page' => $posts_nr,
                'paged' => $paged,
                'post_type' => 'portfolio'
            );
            $the_query = new WP_Query($args);     
            
            // Default Thumbnail Sizes
            
            $size = "portfolio-square";    
            if($thumb_size == "auto") $size = "portfolio-auto";
            if($cols == 1) $size = "sidebar-landscape";
            
            $data_content = $ajax_class = '';
            
            if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post();
                
                    $img_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), $size);
                    $thumb_url = $img_url[0];
                    
                    // For lightbox zoom
                    
                    $img_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large');
                    $big_thumb_url = $img_url[0];
                    
                    $post_link = get_permalink();
                    
                    $post_link_type = get_post_meta($post->ID,'link_type',TRUE);
                    
                    if($post_link_type == 'external' && get_post_meta($post->ID,'portfolio_external_url',TRUE)) {
                        $data_content = '';
                        $ajax_class = '';
                        $post_link = get_post_meta($post->ID,'portfolio_external_url',TRUE);
                    }
                    
                    $excerpt = $excerpt_class = ' no-excerpt';
                    if(get_post_meta($post->ID,'portfolio_post_excerpt',TRUE)) {
                        $excerpt = get_post_meta($post->ID,'portfolio_post_excerpt',TRUE);
                        $excerpt_class = ' has-excerpt';
                    }
                    
                            ?>
                            
                                <div class="item cbp-item <?php echo $item_class.$excerpt_class; ?> <?php echo vntd_portfolio_item_class(); ?>"<?php echo $data_content; ?>>
            
                                    <div class="item-inner">
            
                                        <?php echo $cats; ?><a href="<?php echo $post_link; ?>" class="work-image">
            
                                            <img src="<?php echo $thumb_url ?>" alt="<?php the_title(); ?>">
            
                                            <div class="portfolio-item-overlay">
                                                
                                                <?php if($hover_style != "bottom") { ?>
                                                <div class="portfolio-overlay-icons">
                                                    <span class="overlay-icon overlay-icon-link" href="<?php echo $post_link; ?>"><i class="fa fa-link"></i></span>
                                                    <span class="overlay-icon overlay-icon-zoom" href="<?php echo $big_thumb_url ?>"><i class="fa fa-search"></i></span>
                                                </div>
                                                <?php } ?>
                                                
                                                <h3 class="portfolio-overlay-title">
                                                    <?php the_title(); ?>
                                                </h3>
                                                
                                                <div class="portfolio-overlay-cats"><?php vntd_portfolio_overlay_categories(); ?></div>
                                                <?php if(get_post_meta($post->ID,'portfolio_post_excerpt',TRUE)) { ?>
                                                <p class="portfolio-overlay-excerpt">
                                                    <?php echo get_post_meta($post->ID,'portfolio_post_excerpt',TRUE); ?>
                                                </p>
                                                <?php } ?>
                                            </div>
            
                                        </a>
            
                                    </div>
                                    
                                    <?php if($thumb_style && $thumb_style != "simple") { ?>
                                    <div class="item-outer">
                                        <h3 class="portfolio-outer-title">
                                            <a href="<?php echo $post_link; ?>"><?php the_title(); ?></a>
                                        </h3>
                                        <div class="portfolio-outer-cats"><?php vntd_portfolio_overlay_categories(); ?></div>
                                        <?php if(get_post_meta($post->ID,'portfolio_post_excerpt',TRUE)) { ?>
                                        <p class="portfolio-outer-excerpt">
                                            <?php echo get_post_meta($post->ID,'portfolio_post_excerpt',TRUE); ?>
                                        </p>
                                        <?php } 
                                        if($thumb_style == "title_excerpt_more") { ?>
                                        <div class="portfolio-view-more btn btn-dark"><a href="<?php echo $post_link; ?>"><?php _e('View More', 'vntd_qaro'); ?></a></div>
                                        
                                        <?php }    ?>
                                    </div>
                                    <?php } ?>
                                </div>
                                
                                <?php 
        
        
            endwhile; endif; ?>
        
            <?php 
            //if($paged_posts == 'yes') 
            
            
            
            echo '</div>';
            
            if($ajax == 'yes') {
                vntd_ajax_pagination($the_query);
                echo '<div id="portfolio-load-posts" class="pagination-wrap"><a href="#"class="btn btn-style-default btn-accent">'.__('Load More','vntd_qaro').'</a></div>';
            }
            
            echo '</div>';
            
            wp_reset_postdata(); 
        
        $content = ob_get_contents();
        ob_end_clean();
        
        return $content;
        
    }
    remove_shortcode('portfolio_grid');
    add_shortcode('portfolio_grid', 'vntd_portfolio_grid');
    Ultima modifica di LindaXp; 16-08-2015 a 13:03

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    sto utilizzando wordpress con un plugin
    Ah, ecco! .. e qui si apre un mondo.

    Trattandosi di un plugin, che di per se è già più che dinamico e personalizzabile, ho l'impressione che tu stia cercando di forzare qualcosa che probabilmente si può risolvere in maniera più semplice, e più adeguata, impostando opportunamente il plugin stesso dal pannello di amministrazione.

    Non conosco il plugin, ho solo dato uno sguardo a qualche riferimento online e ho visto che, oltre i filtri, si possono creare delle categorie di immagini che puoi quindi aprire come pagine specifiche. Potrebbe essere una soluzione?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70
    purtroppo no, o meglio si può personalizzare fino ad un certo punto ma il maledetto "show all" appare sempre
    per questo volevo richiamare la variabile in maniera tale da far caricare subito la categoria specifica e non sia "show all" che la categoria così come fa il js mi credi che sto sbattendo da 2 giorni?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    70
    ragazzi ho risolto "semplicemente" inserendo nell'header la funzione in jquery trigger click
    che mi clicca in automatico la categoria voluta! grazie a tutti voi per il supporto

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    ragazzi ho risolto
    Bene, è senza dubbio una soluzione ingegnosa ma resta pur sempre un espediente che credo si possa evitare impostando a dovere il plugin.

    purtroppo no, o meglio si può personalizzare fino ad un certo punto ma il maledetto "show all" appare sempre
    per questo volevo richiamare la variabile in maniera tale da far caricare subito la categoria specifica e non sia "show all" che la categoria così come fa il js mi credi che sto sbattendo da 2 giorni?
    Non conosco il plugin in questione e non uso wordpress ma, giusto per togliermi il dubbio, ho fatto qualche prova attraverso questa pagina: http://democbpw.scriptpie.com/wp-login.php

    Ho visto che, una volta creato un portfolio, è possibile impostare i vari filtri cliccando su "Edit filters". Nella lista dei filtri (List of available filters), affianco ad ogni voce è visibile l'opzione "make default". Per cui, impostando una specifica voce come default, e accedendo poi alla pagina che mostra quel determinato portfolio, il filtro sarà automaticamente impostato su quella voce come default. Mi pare sia esattamente quello che hai chiesto.

    Ora, io ho fatto qualche prova al volo, se però tu dici che ci stai lavorando da due giorni senza aver risolto prima, mi chiedo se magari non ho capito male io o mi sono perso qualcosa. E' possibile che tu abbia una versione non aggiornata del plugin, in cui non è presente quell'opzione?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.