Autor Zpráva
moskyt
Profil
Zdravím,

Potřebuji do stávajícího scriptu dostat jednu hodnotu a nevím si s tím rady. Je to ve třídách, ve kterých se vůbec neorientuji a nepomohlo ani nějaké to experimentování, které jsem zkoušel.

Mám script:

$cislo = 1538;

class ControllerModuleBankTransferSimple extends Controller {
    
    protected function index() {
        global $myVar;
        $this->language->load('payment/bank_transfer');
        $this->data['text_instruction'] = $this->language->get('text_instruction');
        $this->data['text_description'] = $this->language->get('text_description');
        $this->data['text_payment'] = $this->language->get('text_payment');
        $this->data['bank'] = $cislo;
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/bank_transfer_simple.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/module/bank_transfer_simple.tpl';
        } else {
            $this->template = 'default/template/module/bank_transfer_simple.tpl';
        }    
        
        $this->render(); 
    }
}

no a potřebuji aby ta proměnná $cislo, kterou definuji vně třídy fungovala i uvnitř třídy resp. aby fungoval ten zápis $this->data['bank'] = $cislo;

teď mi to píše "Undefined variable: cislo"

předem díky za případnou pomoc.
Zechy
Profil
moskyt:
Úplně mimo se ti to asi nepovede, bud použít globální proměnné nebo to předávat přes SESSION. Nebo to můžeš definovat jako vlastnost třídy, tedy v ně ní.
<?php
class myClass {
  public $promena;
  .
  .
  .
?>
Joker
Profil
moskyt:
Standardní cesta by byla přidat parametr metody:
    protected function index($cislo) {
A volání by bylo třeba $this->index(12)

Anebo jestli to číslo je nějaká vlastnost toho daného objektu, přidat atribut objektu, viz Zechy:
class ControllerModuleBankTransferSimple extends Controller {
    public $cislo;
a pak:
$this->data['bank'] = $this->cislo;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0