wdrożenia PrestaShop

Pobieranie danych z bazy

  • 3 Odpowiedzi
  • 6167 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline kapka

  • Nowy
  • *
  • 4
  • 0
  • PrestaShop
  • PrestaShop: 1.7
  • Status: forum
Pobieranie danych z bazy
« dnia: 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']);
    }

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Pobieranie danych z bazy
« Odpowiedź #1 dnia: 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
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline kapka

  • Nowy
  • *
  • 4
  • 0
  • PrestaShop
  • PrestaShop: 1.7
  • Status: forum
Odp: Pobieranie danych z bazy
« Odpowiedź #2 dnia: 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ę

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Pobieranie danych z bazy
« Odpowiedź #3 dnia: Luty 20, 2018, 11:02:45 am »
funkcja include http://php.net/manual/en/function.include.php
pliki init i config
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl