Je suis nouveau chez Prestashop (1.6.1.16). Je travaille dans le thème prestashop par défaut (bootstrap par défaut).Prestashop 1.6.1.16 - Mon fichier js est chargé, mais mes fonctions ne sont pas visibles
Ce que je l'ai fait:
Je mets contenu dans /themes/default-bootstrap/product.tpl
: juste après top commentaires (ceux à propos de licence et autres):
<script type="text/javascript" src="modules/ask_bid/js/ask.js">
</script>
<button onclick="take_asks({$product->id})">See asks</button>
<input type="hidden" id="product-id" value="{$product->id}" />
<input type="hidden" id="customer-id" value="{$id_customer}" />
<!-- Modal -->
<div id="modal" class="modal fade">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
Où {$product->id}
vient de
/controllers/front/ProductController.php<br>
et {$id_customer}
vient de
/override/controllers/front/ProductController.php
J'ai créé /modules/ask_bid/js/ask.js
où je mets le contenu suivant:
function isJSON(data) {
var ret = true;
try {
JSON.parse(data);
}catch(e) {
ret = false;
}
return ret;
}
function take_asks (id_product) {
$.ajax({
type: 'POST',
url: baseDir + 'modules/ask_bid/ajax.php',
data: 'method=take_asks&id_product='+id_product,
dataType: 'text',
success: function(json) {
if(isJSON(json)) {
var json = JSON.parse(json);
//alert("json: " + json[0].comment);
}
},
error: function() {
alert("error");
}
});
}
également modal ne pas agir comme un Mon modal est affiché (non caché) et qui est pas normal. C'est juste après que le bouton soit "en l'air" (j'espère que vous savez ce que je veux dire).
Et j'ai erreur js:
Le /modules/ask_bid/js/ask.js
est chargé (je vois cela aussi dans INSPECT-> f12/réseau), mais le take_asks()
ne voit pas.
Je reçois l'erreur suivante de la console (quand je presse 'Take demande' bouton):
Uncaught ReferenceError: take_asks is not defined at HTMLButtonElement.onclick (index.php? id_product=6&controller=product&id_lang=1:413)
Ce que j'ai essayé
-I class_index.php supprimé
-I cache supprimé (avec CTRL- f5)
-I essayé d'ajouter js de /override/controllers/front/ProductController.php
mais ne fonctionne pas et je ne aussi obtenir pas d'erreurs:
public function setMedia()
{
$this->addJS('modules/ask_bid/js/ask.js');
parent::setMedia();
}
... ou ...
function init() {
$this->context->controller->addJS('modules/ask_bid/js/ask.js');
parent::init()
}
Que pensez-vous que je peux faire?
@il_raffa! Ne serait pas nécessaire d'éditer ma demande. Je l'ai bien adapté. :) –