Jump to content

Wyświetlanie konfiguracji modułu w back office


Recommended Posts

Witam

 

Pracuję nad modułem, który ma mieć w back office możliwość wyboru strony ekranu, na której będzie wyświetlany i pole do wpisania zmiennej z nazwą użytkownika, jednak po wgraniu go do presty ustawienia w ogóle się nie wyświetlają, oto kod:

<?php

class maxart_ extends Module {
function __construct(){
  ...
}

function install(){
 if (parent::install() == false
  OR $this->registerHook('header') == false
 ){
  return false;
 }
return true;
}

public function getconf(){
	$array['maxart_where']=Configuration::get('maxart_where');
	$array['maxart_url']=Configuration::get('maxart_url');
	return $array;
}

public function psversion() {
 $version=_PS_VERSION_;
 $exp=$explode=explode(".",$version);
 return $exp[1];
}

public function getContent(){
	$output="";
	if (Tools::isSubmit('submit_settings')){
		Configuration::updatevalue('maxart_where',$_POST['maxart_where']);
		Configuration::updatevalue('maxart_url',$_POST['maxart_url']);
		$output.='<div class="conf confirm"><img src="../img/admin/ok.gif" alt="'.$this->l('Settings Saved').'" />'.$this->l('Settings Saved').'</div>';
	}	
	return $output.$this->displayForm();
}

public function displayForm(){
$var=$this->getconf();

   $maxart_where1="";
   $maxart_where2="";

   if ($var['maxart_where']=="1"){$maxart_where1="checked=\"yes\"";}
   if ($var['maxart_where']=="2"){$maxart_where2="checked=\"yes\"";}


		$form='<div id="module_block_settings">	  
		<fieldset id="fieldset_module_block_settings">
			<legend style="display:inline-block;"><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>
			<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
				<label>'.$this->l('Left side').'</label>
				<div class="margin-form">
					<input type="radio" name="maxart_where" value="1" '.$maxart_where1.'/>
				</div>
				<label>'.$this->l('Right side').'</label>
				<div class="margin-form">
					<input type="radio" name="maxart_where" value="2" '.$maxart_where2.'/>
				</div>

				<label>'.$this->l('Name').'</label>
				<div class="margin-form">
					<input type="text" name="maxart_name" value="'.$var['maxart_name'].'"/>
				</div>								
				<center><input type="submit" name="submit_settings" value="'.$this->l('Save Settings').'" class="button" /></center>
			</form>
		</fieldset>
		</div>';
}  

function hookheader($params){
	$var=$this->getconf();
	global $smarty;
	$smarty->assign('var', $var);
	return $this->display(__FILE__, 'maxart.tpl');
}
}
?>

 

Nie wiem gdzie jest błąd powodujący brak okna konfiguracji.

Edited by maxart (see edit history)
Link to comment
Share on other sites

Myślałem, że zawartość .tpl nie ma wpływu na kod wykonywany w .php. Jeszcze go nie skonstruowałem, brak mi trochę wiedzy i tak na prawdę kod .php napisałem edytując istniejące moduły. Czy kod podany w poprzednim poście nie zawiera błędów?

 

PS. mam jakieś problemy z klawiaturą i po wpisaniu ą, strona zatwierdza post, dlatego też temat był podwojony.

Edited by maxart (see edit history)
Link to comment
Share on other sites

jesteś bardzo spostrzegawczy :D tak jak pisałem, niestety nie za wiele wiem na temat programowania dlatego posiłkuję się istniejącymi kodami i tutkami na forum.

 

dzięki za odpowiedź, teraz oczywiście męczę się z przypisaniem zmiennych... taka już dola nowicjusza :)

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...