jTable nevolá presenter, který má vrátit json

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Dragonaut
Člen | 33
+
0
-

Dobrý den, snažím se rozchodit datagrid knihovnu z jtable.org
a mám následující kód :

default.latte šablona, která vykresluje tabulku

{layout '../Main/@layout.latte'}

{block content}
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.min.js" type="text/javascript"></script>

<!-- Include one of jTable styles. -->
<link href="{$basePath}/js/jtable/themes/metro/blue/jtable.min.css" rel="stylesheet" type="text/css" />

<!-- Include jTable script file. -->
<script src="{$basePath}/js/jtable/jquery.jtable.min.js" type="text/javascript"></script>

<div id="ProductTableContainer"></div>

<script type="text/javascript">
    $(document).ready(function () {
        $('#ProductTableContainer').jtable({
            title: 'Produkty',
            actions: {
                //listAction: '{link Product:list}',
                listAction: '/backend.product/list'
                //createAction: '/GettingStarted/CreatePerson',
                //updateAction: '/GettingStarted/UpdatePerson',
                //deleteAction: '/GettingStarted/DeletePerson'
            },
            fields: {
                ID: {
                    key: true,
                    list: false
                },
                CategoryID: {
                    title: 'Kategorie',
                    width: '40%'
                },
                Name: {
                    title: 'Name',
                    width: '20%'
                },
                Description: {
                    title: 'Description',
                    width: '30%'
                }
            }
        });
    });
</script>
{/block}
{block js}{/block}

problém je v tom, že se mi nezavolá odkaz /backend.product/list, který pokud ho zadám do address baru ručně vrací

{
	"Result":"OK",
	"Records":
	[
		{"ID":1,"CategoryID":1,"Name":"Produkt 1","Description":"Popis 1"},
		{"ID":2,"CategoryID":1,"Name":"Produkt 2","Description":"Popis 2"},
		{"ID":3,"CategoryID":1,"Name":"Produkt 3","Description":"Popis 3"},
		{"ID":4,"CategoryID":1,"Name":"Produkt 4","Description":"Popis 4"}
	]
}

což by mělo být snad v pořádku. Metoda, která to vrací :

	public function actionList()
	{
		$products = $this->db->fetchAll('select * from product');
		$result = array();
		$result['Result'] = "OK";
		$result['Records'] = $products;
		$this->sendResponse(new JsonResponse($result));
	}

Otázky jsou tedy dvě.

  1. Proč se mi ajaxem nezavolá ta metoda a tím pádem mám datagrid prázdný (nezavolání jsem zkontroloval firebugem) ?
  2. Jak vložit url na metodu (actionList) do javascriptu pomocí latte šablony ?

pokud použiju {link Product:list} tak se mi vloží do zdrojového kódu

listAction: '"\/backend.product\/list"'

což zřejmě nebude dobře.

Nějaké nápady ?
Děkuji