Autore Topic: [RISOLTO]Spostare pulsante registrazione in basso.  (Letto 3326 volte)

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
[RISOLTO]Spostare pulsante registrazione in basso.
« il: 10 Giu 2014, 19:00:26 »
Salve. Sto cercando di spostare il pulsante registrati e annulla in basso, cioè a fine registrazione come tutti i comuni siti web fanno nella fase di registrazione. Virtuemart invece non so' perchè, piace tenerli in alto.
Molti utenti si lamentano che non riescono a completare la registrazione. ( Ho una clientela non molto pratica di pc )

Questo è il risultato :

Ho trovato questa guida che mi indica come fare, solo che NON FUNZIONA. Cioe' se provo a tagliare quella stringa e a metterla a fine pagina la pagina di registrazione compare tutta bianca con varie scritte per la registrazione a metà...

Soluzioni?
« Ultima modifica: 10 Giu 2014, 20:38:22 da Alexanders »

mau_develop

  • Visitatore
Re:Spostare pulsante registrazione in basso.
« Risposta #1 il: 10 Giu 2014, 19:04:23 »
override della vista?

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:Spostare pulsante registrazione in basso.
« Risposta #2 il: 10 Giu 2014, 19:41:26 »
Cioe'? Non sono molto pratico.

mau_develop

  • Visitatore
Re:Spostare pulsante registrazione in basso.
« Risposta #3 il: 10 Giu 2014, 19:51:12 »
qs te lo spiega, credo sia per J1.5 ma poco cambia se non nulla..
http://www.joomla.it/articoli-della-community/788-override-del-template-come-personalizzare-le-pagine-di-joomla.html

questo perchè qualsiasi modifica fatta sui files del componente viene sovrascritta dall'aggiornamento.

Poi vediamo il suggerimento...
---------------------------------------
cercate questo blocco di codice:
<!--?php if(!$this--->userDetails-&gt;user_is_vendor){ ?&gt;
--------------------------------------

io non so... ma sembra un po' grossolano muovere alla caxo un if con una { aperta... poi il codice non l'ho visto (e nn mi interessa vederlo :) )
tagliatelo da quella posizione e posizionatelo in fondo, subito sotto l’ultima riga di codice.

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:Spostare pulsante registrazione in basso.
« Risposta #4 il: 10 Giu 2014, 20:24:49 »
la stringa da modificare la trovo in " components/com_virtuemart/views/user/tmpl " e fin qui tutto ok.
Nella guida la stringa si chiama
" <!--?php if(!$this--->userDetails-&gt;user_is_vendor){ ?&gt; "
mentre io ho
" <?php if(!$this->userDetails->user_is_vendor){ ?> "

Taglio questa stringa e la inserisco a fine sorgente.. e mi riporta questo errore quando vado a provare la registrazione



Il sorgente del edit_shopper.php è questo:

Codice: [Seleziona]
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

?>
<?php if(!$this->userDetails->user_is_vendor){ ?>
<div class="buttonBar-right">
    <button class="button" type="submit" onclick="javascript:return myValidator(userForm, 'saveUser');" ><?php echo $this->button_lbl ?></button>
    &nbsp;
    <button class="button" type="reset" onclick="window.location.href='<?php echo JRoute::_('index.php?option=com_virtuemart&view=user'FALSE); ?>'" ><?php echo JText::_('COM_VIRTUEMART_CANCEL'); ?></button>

</div>
<?php ?>
<?php if( $this->userDetails->virtuemart_user_id!=0)  {
    echo 
$this->loadTemplate('vmshopper');
    } 
?>

<?php echo $this->loadTemplate('address_userfields'); ?>



<?php if ($this->userDetails->JUser->get('id') ) {
  echo 
$this->loadTemplate('address_addshipto');
  }
  
?>

<?php if(!empty($this->virtuemart_userinfo_id)){
    echo 
'<input type="hidden" name="virtuemart_userinfo_id" value="'.(int)$this->virtuemart_userinfo_id.'" />';
}
?>

<input type="hidden" name="task" value="<?php echo $this->fTask?>" />
<input type="hidden" name="address_type" value="BT" />



mau_develop

  • Visitatore
Re:Spostare pulsante registrazione in basso.
« Risposta #5 il: 10 Giu 2014, 20:29:58 »
al max devi spostare tutto il blocco ... ma nn so se è la soluzione, non ho letto il codice
<?php if(!$this->userDetails->user_is_vendor){ ?>
<div class="buttonBar-right">
    ....etc
</div>
<?php } ?>

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:Spostare pulsante registrazione in basso.
« Risposta #6 il: 10 Giu 2014, 20:37:49 »
Siiiiiii funzionaa! Dovevo spostare tutto il blocco! Non sai quanto te ne sono grato! Grazie, Grazie, Grazie!

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:[RISOLTO]Spostare pulsante registrazione in basso.
« Risposta #7 il: 15 Giu 2014, 11:38:46 »
A malincuore devo riprendere il thread e dirti che mettendo il link in basso la registrazione non va a buon fine. Ho dovuto rimetterlo in alto. Molto probabilmente quando lo taglio/incolla spezzo qualcosa nel codice PHP. Suggerimenti?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO]Spostare pulsante registrazione in basso.
« Risposta #8 il: 15 Giu 2014, 12:44:21 »
mi quadra molto poco quella user_is_vendor nella if. penso tu stia guardando il template sbagliato, ovvero edit_shopper.php invece di edit_address.php. ma i nomi possono cambiare secondo il template.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:[RISOLTO]Spostare pulsante registrazione in basso.
« Risposta #9 il: 15 Giu 2014, 16:28:58 »
nel file edit_address.php c'è questo, ma non capisco quale sia il tasto della registrazione da spostare in basso. Invece nell'altro file PHP, il tasto mettendo a fine pagina tutto il codice, si era messo in basso, solo che quando cliccavi per registrarti, non registrava nulla.

Codice: [Seleziona]
JHTML::_ ('behavior.formvalidation');
JHTML::stylesheet ('vmpanels.css', JURI::root () . 'components/com_virtuemart/assets/css/');

if ($this->fTask === 'savecartuser') {
    $rtask = 'registercartuser';
    $url = 0;
}
else {
    $rtask = 'registercheckoutuser';
    $url = JRoute::_('index.php?option=com_virtuemart&view=cart&task=checkout', 0, $this->useSSL);
}
?>
<h1><?php echo $this->page_title ?></h1>
<?php
echo shopFunctionsF::getLoginForm (TRUEFALSE$url);
?>

<script language="javascript">
    function myValidator(f, t) {
        f.task.value = t; //this is a method to set the task of the form on the fTask.
        if (document.formvalidator.isValid(f)) {
            if (jQuery('#recaptcha_wrapper').is(':hidden') && ((t == 'registercartuser') || (t == 'registercheckoutuser'))) {
                jQuery('#recaptcha_wrapper').show();
            } else {
                f.submit();
                return true;
            }
        } else {
            if (jQuery('#recaptcha_wrapper').is(':hidden') && ((t == 'registercartuser') || (t == 'registercheckoutuser'))) {
                jQuery('#recaptcha_wrapper').show();
            }
            var msg = '<?php echo addslashes (vmText::('COM_VIRTUEMART_USER_FORM_MISSING_REQUIR ED_JS')); ?>';
            alert(msg + ' ');
        }
        return false;
    }

    function callValidatorForRegister(f) {

        var elem = jQuery('#username_field');
        elem.attr('class', "required");

        var elem = jQuery('#name_field');
        elem.attr('class', "required");

        var elem = jQuery('#password_field');
        elem.attr('class', "required");

        var elem = jQuery('#password2_field');
        elem.attr('class', "required");

        var elem = jQuery('#userForm');

        return myValidator(f, '<?php echo $rtask ?>');

    }
</script>

<fieldset>
    <h2><?php
        
if ($this->address_type == 'BT') {
            echo 
JText::('COM_VIRTUEMART_USER_FORM_EDIT_BILLTO_LB L');
        }
        else {
            echo 
JText::('COM_VIRTUEMART_USER_FORM_ADD_SHIPTO_LBL');
        }
        
?>

    </h2>

    <form method="post" id="userForm" name="userForm" class="form-validate" action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=user',$this->useXHTML,$this->useSSL?>" >
        <!--<form method="post" id="userForm" name="userForm" action="<?php echo JRoute::('index.php'); ?>" class="form-validate">-->
        <div class="control-buttons">
            <?php
            
if (strpos ($this->fTask'cart') || strpos ($this->fTask'checkout')) {
                
$rview 'cart';
            }
            else {
                
$rview 'user';
            }
// echo 'rview = '.$rview;

            
if (strpos ($this->fTask'checkout') || $this->address_type == 'ST') {
                
$buttonclass 'default';
            }
            else {
                
$buttonclass 'button vm-button-correct';
            }


            if (
VmConfig::get ('oncheckout_show_register'1) && $this->userId == && !VmConfig::get ('oncheckout_only_registered'0) && $this->address_type == 'BT' and $rview == 'cart') {
                echo 
JText::sprintf ('COM_VIRTUEMART_ONCHECKOUT_DEFAULT_TEXT_ REGISTER'JText::('COM_VIRTUEMART_REGISTER_AND_CHECKOUT'), JText::('COM_VIRTUEMART_CHECKOUT_AS_GUEST'));
            }
            else {
                
//echo JText::_('COM_VIRTUEMART_REGISTER_ACCOUNT');
            
}
            if (
VmConfig::get ('oncheckout_show_register'1) && $this->userId == && $this->address_type == 'BT' and $rview == 'cart') {
                
?>


                <button class="<?php echo $buttonclass ?>" type="submit" onclick="javascript:return callValidatorForRegister(userForm);"
                        title="<?php echo JText::('COM_VIRTUEMART_REGISTER_AND_CHECKOUT'); ?>"><?php echo JText::('COM_VIRTUEMART_REGISTER_AND_CHECKOUT'); ?></button>
                <?php if (!VmConfig::get ('oncheckout_only_registered'0)) { ?>
                    <button class="<?php echo $buttonclass ?>" title="<?php echo JText::('COM_VIRTUEMART_CHECKOUT_AS_GUEST'); ?>" type="submit"
                            onclick="javascript:return myValidator(userForm, '<?php echo $this->fTask?>');"><?php echo JText::('COM_VIRTUEMART_CHECKOUT_AS_GUEST'); ?></button>
                    <?php ?>
                <button class="default" type="reset"
                        onclick="window.location.href='<?php echo JRoute::('index.php?option=com_virtuemart&view=' $rview); ?>'"><?php echo JText::('COM_VIRTUEMART_CANCEL'); ?></button>


                <?php
            
}
            else {
                
?>


                <button class="<?php echo $buttonclass ?>" type="submit"
                        onclick="javascript:return myValidator(userForm, '<?php echo $this->fTask?>');"><?php echo JText::('COM_VIRTUEMART_SAVE'); ?></button>
                <button class="default" type="reset"
                        onclick="window.location.href='<?php echo JRoute::('index.php?option=com_virtuemart&view=' $rview); ?>'"><?php echo JText::('COM_VIRTUEMART_CANCEL'); ?></button>

                <?php ?>
        </div>

        <?php
        
// captcha addition
        
if(VmConfig::get ('reg_captcha')){
            
JHTML::_('behavior.framework');
            
JPluginHelper::importPlugin('captcha');
            
$captcha_visible vRequest::getVar('captcha');
            
$dispatcher JDispatcher::getInstance(); $dispatcher->trigger('onInit','dynamic_recaptcha_1');
            
$hide_captcha = (VmConfig::get ('oncheckout_only_registered') or $captcha_visible) ? '' 'style="display: none;"';
            
?>

            <fieldset id="recaptcha_wrapper" <?php echo $hide_captcha ?>>
                <?php if(!VmConfig::get ('oncheckout_only_registered')) { ?>
                <span class="userfields_info"><?php echo vmText::('COM_VIRTUEMART_USER_FORM_CAPTCHA'); ?></span>
                <?php ?>
                <div id="dynamic_recaptcha_1"></div>
            </fieldset>
        <?php 
        
}
        
// end of captcha addition 

        
if (!class_exists ('VirtueMartCart')) {
            require(
JPATH_VM_SITE DS 'helpers' DS 'cart.php');
        }

        if (
count ($this->userFields['functions']) > 0) {
            echo 
'<script language="javascript">' "\n";
            echo 
join ("\n"$this->userFields['functions']);
            echo 
'</script>' "\n";
        }
        echo 
$this->loadTemplate ('userfields');

        
?>

</fieldset>
<?php // }
if ($this->userDetails->JUser->get ('id')) {
    echo 
$this->loadTemplate ('addshipto');
?>

<input type="hidden" name="option" value="com_virtuemart"/>
<input type="hidden" name="view" value="user"/>
<input type="hidden" name="controller" value="user"/>
<input type="hidden" name="task" value="<?php echo $this->fTask?>"/>
<input type="hidden" name="layout" value="<?php echo $this->getLayout (); ?>"/>
<input type="hidden" name="address_type" value="<?php echo $this->address_type?>"/>
<?php if (!empty($this->virtuemart_userinfo_id)) {
    echo 
'<input type="hidden" name="shipto_virtuemart_userinfo_id" value="' . (int)$this->virtuemart_userinfo_id '" />';
}
echo 
JHTML::('form.token');
?>

</form>
« Ultima modifica: 15 Giu 2014, 16:32:05 da Alexanders »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO]Spostare pulsante registrazione in basso.
« Risposta #10 il: 16 Giu 2014, 15:25:04 »
forse la cosa più semplice è spostare tutta la parte identificata da <div class="control-buttons"> fino alla sua chiusura sopra, prima dei campi input hidden, ma sinceramente non mi ricordo a che servano gli altri pulsanti di questo template e sarebbe anche da verificare che all'interno del blocco spostato non vi sia la definizione di qualche valore necessario nella form.
in altri termini: se non lo sai fare meglio che lo lasci lì dove è e dici al cliente che il pulsante non si può muovere senza fare casini...  ::)

ciao

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 

Host

Torna su