phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Codice PHP

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Codice PHP

Messaggio da Sir Xiradorn » 12/06/2015, 18:46

Allora allora allora. Vediamo un po. Fammi capire una cosa. Hai diviso le amenità in gruppi diciamo così. Ora cosa vorresti fare? Vuoi togliere il quadratino quando viene inserita la virgola? O cosa? Avevo anche io questo tema da qualche parte. Se mi dici che versione hai, posso esaminare meglio il codice.
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

avni
Utente
Utente
Messaggi: 9
Iscritto il: 10/06/2015, 16:29

Re: Codice PHP

Messaggio da avni » 12/06/2015, 18:53

La versione è Wp Residence 1.091... praticamente io voglio che davanti alla parola "Aufzug" non ci sia il quadrattino per selezionare la caratteristica, ma solo nelle parole sotto ad esempio "Lastenaufzug e Personenaufzug", in più quando in una riga non c'è scritto nulla. Grazie della diponibilità

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Codice PHP

Messaggio da Sir Xiradorn » 13/06/2015, 16:02

Allora facciamo così. Ho in mente questo. Possiamo usare un identificativo per le categorie come ad esempio questo [*] . Mentre per il segnaposto vuoto useremo una stringa del tipo [---------]. Poi gli diciamo: Quando trovi [*] Usa quella come categoria e quindi non applichi la spunta. Quando trovi [---------] fai lo stesso. Che dici?

Mentre io elaboro il codice, ti do qualche dritta e se vuoi provarci a scopo anche didattico fai pure. In sostanza quello che andremo a usare è una Regular Expression o RegEx o in italiano Espressione regolare. Avremo cos' 2 elementi:
  • una parola da cercare
  • una pattern ovvero un elemento che da indicazione su cosa cercare e come deve farlo
Dovresti fare tali passaggi:
  • Prendere l'array di valori e explode-lro come stavi facendo per fare un array
  • sempre come stavi facendo devi usare un foreach per scorrere l'array
  • dentro però questa volta userai una espressione regolare con questa pattern /(\[-{4,}\]|\[\*\])/. Questo significa che la funzione cercherà come elementi, o questa stringa [----], ovvero le due parentesi quadre con 4 o più trattini al suo interno, oppure questa stringa [ * ] (senza gli spazi in mezzo).
  • fatto ciò agisci con un if e se trova il valore che desideri nella stringa, come descritto in precedenza, allora elimina il quadratino dal fianco di quello che ti serve. In particolare la stringa [----] fungerà da sorta di separatore. Lui la vedrà come vuota e non metterà il quadratino. Visto poi che se non viene messa in check non si vedrà allora il gioco è perfetto. Altrimenti andava fatta un'altra piccola modifica e rimpiazzata la stringa in questione
Il tutto lo devi fare nella pagina che ti predispone questa funzione. Non so se esista un modo per sovrascrivere la funzione ma mi pare ci sia qualcosa del tipo add_filters quindi potresti farlo anche da parte come ad esempio il file functions.php del child theme ma devo controllare. Mal che vada operi nella sorgente e via. Spero di averti dato qualche dritta in più. Non posso farlo subito perchè sto costruendo un applicativo web con un amico e quindi ho poco tempo. Ma così potrai lavorarci anche te se ti va
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

avni
Utente
Utente
Messaggi: 9
Iscritto il: 10/06/2015, 16:29

Re: Codice PHP

Messaggio da avni » 13/06/2015, 17:25

Se per te è la cosa più giusta e più semplicie OK... fallo in quel modo va benissimo...grazie di tutto

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Codice PHP

Messaggio da Sir Xiradorn » 14/06/2015, 3:36

I caratteri di spazio sono sempre problematici. Per cui qualsiasi carattere o stringa è sempre meglio. Più è particolare più è facile da cercare perchè, essendo uniche nel proprio genere, richiedono una complessità di ricerca minore. Sembra paradossale ma è così.

Comunque appena ho tempo faccio :mrgreen:
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

avni
Utente
Utente
Messaggi: 9
Iscritto il: 10/06/2015, 16:29

Re: Codice PHP

Messaggio da avni » 14/06/2015, 12:34

Certo hai perfettamente ragione, lo spazio non è facilmente rintacciabile... fai pure con calma, nemmeno io ho fretta...grazie

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Codice PHP

Messaggio da Sir Xiradorn » 03/08/2015, 2:22

Provoliamo un po così. Però al posto della virgola per indicare lo spazio bianco usa una categoria di questo tipo {{{ Spazio }}}. Puoi usare da 3 graffe in poi. Devono essere almeno 3 per parte. Dentro puoi anche mettere una sola lettera o anche uno spazio o credo anche nulla. Basta che ci siano almeno {{{ e }}}.

Per le categorie invece ti basterà aggiungere almeno 2 -- prima del nome della categoria. Esempio
--Categoria. Questi due caratteri sono speciali e verranno rimossi dal mio codice

Detto questo il tutto dovrebbe essere

Codice: Seleziona tutto

<?php
global $feature_list_array;
global $edit_id;
global $moving_array;
?>


<div class="submit_container ">  
<div class="submit_container_header"><?php _e('Amenities and Features','wpestate');?></div>

<?php

foreach($feature_list_array as $key => $value){
    $post_var_name =   str_replace(' ','_', trim($value) );
    $post_var_name =   wpestate_limit45(sanitize_title( $post_var_name ));
    $post_var_name =   sanitize_key($post_var_name);

    /* Blank Placeholder - Sir Xiradorn */
    // Potra essere usato qualsiasi stringa contenga almeno tre parentesi graffe in apertura
    // e in chiusura 
    // esempio {{{ Bianco }}} oppure {{{SPAZIO}}} o anche {{{ uno}}}
    $pattern = "@(\{{3,}(?:.+)\}{3,})@";
    $subject = $value;

    if (!preg_match(pattern, subject)) {
        
        /* Not assign check for categories. The categories MUST be written with -- that preceed the category name*/
        $pattern = "\-{2,}(.+)";
        if (!preg_match(pattern, subject)) {

            $value_label = preg_replace(pattern, "$1", $value); // clean cat name
            if (function_exists('icl_translate') ){
                $value_label    =   icl_translate('wpestate','wp_estate_property_custom_amm_'.$value, $value );                                      
            }

            print '<p class="full_form featurescol">
                   <input type="hidden"    name="'.$post_var_name.'" value="" style="display:block;">
                   <input type="checkbox"   id="'.$post_var_name.'" name="'.$post_var_name.'" value="1" ';

            if (esc_html(get_post_meta($edit_id, $post_var_name, true)) == 1) {
                print' checked="checked" ';
            }else{
                if(is_array($moving_array) ){                      
                    if( in_array($post_var_name,$moving_array) ){
                        print' checked="checked" ';
                    }
                }
            }
            print' /><label for="'.$post_var_name.'">'.$value_label.'</label></p>';
        } else {
            print'<p class="full_form featurescol"><label for="'.$post_var_name.'">'.$value_label.'</label></p>';
        }
    }
    /* Blank Placeholder - Sir Xiradorn */
?>
</div>
Edit: ora il codice credo sia completo con le richieste che hai fatto. Prova e fammi sapere
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 88 ospiti