Polskie wsparcie PrestaShop

PrestaShop => Php, Java, Flash => Wątek zaczęty przez: kapka w Luty 19, 2018, 02:08:01 pm

Tytuł: Pobieranie danych z bazy
Wiadomość wysłana przez: kapka w Luty 19, 2018, 02:08:01 pm
Cześć,

Po raz pierwszy próbuje napisać wtyczkę w PS...

Wtyczka nazywa się "srodkipomocnicze"
Wszystko jest zrobione zgodnie z dokumentacją.

Jednak mam jeden mały problem.

w pliku srodkipomocnicze.php wywołuję plik z kodem JS (produkty.js) w którym wywołuję za pomocą AJAX funkcję z pliku produkty.php. Plik PHP za pomocą Db::getInstance()->executeS powinien pobierać dane z bazy. Jednak otrzymuje komunikat Class 'Db' not found in ....../produkty.php.

Czy ktoś może mi wytłumaczyć co robię nie tak?
Z góry bardzo dziękuje i pozdrawiam

Kod JS
function funk(){
    var x = document.getElementById('kod_nfz').value;
//alert(". json_encode($produktOut) . ");
   
$.ajax({ url: 'http://localhost/presta/modules/srodkipomocnicze/produkty.php',
         data: {"function2call": x},
//{ "callFunc1": "1"}
         type: 'post',
         success: function(output) {
                      alert(output);
document.getElementById('ProduktyOutID').innerHTML = 'You selected: ' + output;
         }
});

}

Kod PHP
function funWyborProduktuOut($kod){
$baza = Db::getInstance()->executeS('SELECT * FROM '._DB_PREFIX_.'srodki_pomocnicze');
$produktOut = "<input list='produkty' name='lista_produktow' size='80' placeholder='Wpisz nazwę produktu lub kliknij dwa razy aby wybrać produkt'>
  <datalist id='produkty'>";
foreach ($baza as $nazwa_handlowa_tmp) //Wybór produktu
{
if ($nazwa_handlowa_tmp['kod_srodka_nfz'] == $kod){$i++;
$produktOut .= "<option value='" . $nazwa_handlowa_tmp['nazwa_handlowa'] . "'>". $nazwa_handlowa_tmp['nazwa_handlowa'];
}
}
$produktOut .= "</datalist>  Wybierz produkt<br><br>";
echo $produktOut;
}
    if (isset($_POST['function2call'])) {var_dump($_POST['function2call']);
        echo funWyborProduktuOut($_POST['function2call']);
    }
Tytuł: Odp: Pobieranie danych z bazy
Wiadomość wysłana przez: west w Luty 19, 2018, 02:16:01 pm
Dobra już mam :) Funkcję musisz wywołać z poziomu pliku modułu, a nie pliku pomocniczego. Jeśli w pomocniczym chcesz korzystać z funkcji musisz "include" config, plik modułu i init
Tytuł: Odp: Pobieranie danych z bazy
Wiadomość wysłana przez: kapka w Luty 19, 2018, 02:55:15 pm
Jeśli w pomocniczym chcesz korzystać z funkcji musisz "include" config, plik modułu i init

Chyba się zgubiłem  :o
Możesz jakoś troszkę przystępniej :-)

Dziękuję
Tytuł: Odp: Pobieranie danych z bazy
Wiadomość wysłana przez: west w Luty 20, 2018, 11:02:45 am
funkcja include http://php.net/manual/en/function.include.php
pliki init i config