Vetsi Update

This commit is contained in:
2026-04-07 21:10:15 +02:00
parent abd86e7d2c
commit b5e62473bc
9 changed files with 212 additions and 466 deletions

View File

@@ -50,8 +50,11 @@ input,select,button {
</select> </select>
<button id="loadkata" onclick="naplnitKatalog()">Načíst Katalog</button> <button id="loadkata" onclick="naplnitKatalog()">Načíst Katalog</button>
<button id="savekata" onclick="ulozitKatalog()">Ulozit Katalog</button> <button id="savekata" onclick="ulozitKatalog()">Uložit Katalog</button>
<button id="presentkata" onclick="vystavitKatalog()">Vystavit Katalog</button> <button id="presentkata" onclick="vystavitKatalog()">Vystavit Katalog</button>
<button id="downloadkata" onclick="stahnoutKatalog()">Stáhnout Katalog</button>
<button id="nahratKata">Nahrát Katalog </button>
<input type="file" id="inputFile" style="display: none;">
<button class="pridat-kategorii" style="">Pridat Kategorii</button> <button class="pridat-kategorii" style="">Pridat Kategorii</button>

View File

@@ -1,54 +1,23 @@
// function katalogToXML(katalog) { function stahnoutKatalog(data) {
// let xml = '<katalog>'; // převod na JSON string
// const jsonString = JSON.stringify(katalog2JSON(), null, 2);
// Object.entries(katalog).forEach(([kategorie, produkty]) => {
// xml += `<kategorie nazev="${kategorie}">`; // vytvoření blobu (soubor v paměti)
// const blob = new Blob([jsonString], { type: "application/json" });
// Object.entries(produkty).forEach(([nazev, data]) => {
// xml += `<produkt nazev="${nazev}">`; // vytvoření odkazu
// Object.entries(data).forEach(([key, value]) => { const url = URL.createObjectURL(blob);
// xml += `<${key}>${value}</${key}>`; const a = document.createElement("a");
// });
// xml += `</produkt>`; a.href = url;
// }); a.download = "katalog.json";
//
// xml += `</kategorie>`; // simulace kliknutí
// }); a.click();
//
// xml += '</katalog>'; // úklid
// return xml; URL.revokeObjectURL(url);
// } }
//
//
// function xmlToKatalog(xmlString) {
// const parser = new DOMParser();
// const xmlDoc = parser.parseFromString(xmlString, "application/xml");
// const katalog = {};
//
// xmlDoc.querySelectorAll('kategorie').forEach(kat => {
// const kNazev = kat.getAttribute('nazev');
// katalog[kNazev] = {};
//
// kat.querySelectorAll('produkt').forEach(prod => {
// const pNazev = prod.getAttribute('nazev');
// const data = {};
//
// prod.childNodes.forEach(node => {
// if(node.nodeType === 1) { // ELEMENT_NODE
// const key = node.nodeName;
// let value = node.textContent;
// // pokus převést čísla
// if(!isNaN(value)) value = Number(value);
// data[key] = value;
// }
// });
//
// katalog[kNazev][pNazev] = data;
// });
// });
//
// return katalog;
// }
function uuidv4() { function uuidv4() {
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c => return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
@@ -56,52 +25,40 @@ function uuidv4() {
); );
} }
// Vypocita ceny do katalogu na zaklade zadane ceny bez DPH function prepocitejCenu(rozmery, vstupniCena, mj) {
// Ceny se zaokrouhluji na koruny nahoru vat = 21
// Vsechny rozmery v katalogu jsou v cm vatKoeficient = (1 + (vat/100))
function vypocitejCenu(uuid) { desetinnaMista = 4 // Ucetni vypocet ceny se provadi s presnosti na x desetinnych mist
let nazev = document.getElementById("nazev-"+uuid).value
// Prehodi pripadnou desetinnou carku na desetinnou tecku
let zakladniCenaBezDPH = document.getElementById("cena-"+uuid).value.replace(/,/,'.')
let mj = document.getElementById("mj-"+uuid).value
// Rozbije rozmery na jednotlive hodnoty, prevede na cisla, seradi vzestupne
let rozmery = document.getElementById("rozmery-"+uuid).value.split('/').map(Number).sort((x, y) => x - y)
let cena = { let cena = {
"bezDPH": zakladniCenaBezDPH, "bezDPH": vstupniCena.toFixed(desetinnaMista),
"sDPH": zakladniCenaBezDPH * 1.21, "sDPH": (vstupniCena * vatKoeficient).toFixed(desetinnaMista),
"ks": 0 "ks": -1
} }
console.log(mj)
if (mj == "ks") { if (mj == "ks") {
cena.ks = cena.sDPH cena.ks = cena.sDPH
} }
// MJ = m // MJ = m; cena je s DPH za m
// cena je s DPH za m
// pouzije se pouze nejvetsi z rozmeru // pouzije se pouze nejvetsi z rozmeru
else if (mj == "m") { else if (mj == "m") {
cena.ks = cena.sDPH/(100/rozmery.pop()) delka = (rozmery.pop()/100).toFixed(desetinnaMista)
cena.ks = cena.sDPH * delka
} }
// MJ = m2 // MJ = m2; cena je s DPH za m2
// cena je s DPH za m2
// zahazuje se nejmensi ze tri rozmeru // zahazuje se nejmensi ze tri rozmeru
// vypocet je cena/(10000/(r1*r2))
else if (mj == "m2") { else if (mj == "m2") {
cena.ks = cena.sDPH/(10000/(rozmery.pop()*rozmery.pop())) obsah = ((rozmery.pop()*rozmery.pop())/10000).toFixed(desetinnaMista)
cena.ks = cena.sDPH * obsah
//cena.ks = cena.sDPH/(10000/(rozmery.pop()*rozmery.pop()))
console.log("Cena " + cena.ks)
} }
// MJ = m3 // MJ = m3; cena je s DPH za m3
// cena je s DPH za m3
// vypocet je cena/(1000000/(r1*r2*r3))
else if (mj == "m3") { else if (mj == "m3") {
cena.ks = cena.sDPH/(1000000/(rozmery.pop()*rozmery.pop()*rozmery.pop())) objem = ((rozmery.pop()*rozmery.pop()*rozmery.pop())/1000000).toFixed(desetinnaMista)
//cena.ks = cena.sDPH/(1000000/(rozmery.pop()*rozmery.pop()*rozmery.pop()))
cena.ks = cena.sDPH * objem
} }
cena.bezDPH = Math.ceil(cena.bezDPH)
cena.sDPH= Math.ceil(cena.sDPH)
cena.ks = Math.ceil(cena.ks)
document.getElementById("cenadph-"+uuid).value = cena.sDPH
document.getElementById("cenaks-"+uuid).value = cena.ks
return cena return cena
} }
@@ -128,6 +85,29 @@ function zapniNaElementSortableJS(el) {
// Rucne vyrobit polozku // Rucne vyrobit polozku
document.addEventListener("click", function(event) { document.addEventListener("click", function(event) {
if (event.target.id == "nahratKata") {
document.getElementById("inputFile").click() // Simuluje kliknuti na input>file
// zpracování souboru
document.getElementById("inputFile").addEventListener("change", (e) => {
const file = e.target.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = () => {
try {
const data = JSON.parse(reader.result);
JSON2Katalog(reader.result)
} catch (err) {
console.error("Neplatný JSON");
}
};
reader.readAsText(file);
});
}
if (event.target.classList.contains("pridat-polozku")) { if (event.target.classList.contains("pridat-polozku")) {
let kategorie = event.target.closest(".kategorie"); let kategorie = event.target.closest(".kategorie");
let seznam = kategorie.querySelector(".polozky"); let seznam = kategorie.querySelector(".polozky");
@@ -158,9 +138,102 @@ document.addEventListener("click", function(event) {
// tady se bude implementovat ulozeni katalogu do XML // tady se bude implementovat ulozeni katalogu do XML
console.log(document.getElementById("katalog")) console.log(document.getElementById("katalog"))
} }
});
document.addEventListener("change", function(event) {
if(event.target.classList.contains("prepocitavaniCeny")) {
let uuid = event.target.parentElement.id
let vstupniCena = Number(document.getElementById("cena-"+uuid).value.replace(/,/,'.'))
let mj = document.getElementById("mj-"+uuid).value
let rozmery = document.getElementById("rozmery-"+uuid).value.replace(/,/,'.').split('/').map(Number).sort((x, y) => x - y)
cena = prepocitejCenu(rozmery, vstupniCena, mj)
document.getElementById("cenadph-"+uuid).value = Math.ceil(cena.sDPH)
document.getElementById("cenaks-"+uuid).value = Math.ceil(cena.ks)
}
}); });
function ulozitKatalog() { function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
let uuid = uuidv4()
let btnDel = document.createElement("button");
btnDel.className = "vymaz"
btnDel.textContent = "✗"
let nova = document.createElement("div");
nova.className = "list-group-item nested-2 polozka";
nova.id = uuid
nova.appendChild(btnDel)
let rozmeryPolozky = document.createElement("input")
rozmeryPolozky.setAttribute("type", "text")
rozmeryPolozky.className = "prepocitavaniCeny"
rozmeryPolozky.value = rozmery
rozmeryPolozky.id = "rozmery-" + uuid
let cenaPolozky = document.createElement("input")
cenaPolozky.setAttribute("type", "text")
cenaPolozky.className = "prepocitavaniCeny"
cenaPolozky.value = cena
cenaPolozky.id = "cena-" + uuid
let cenaPolozkySDPH = document.createElement("input")
cenaPolozkySDPH.setAttribute("type", "text")
cenaPolozkySDPH.id = "cenadph-" + uuid
cenaPolozkySDPH.value = (cena >= 0) ? cenadph : 0
let cenaPolozkyKs = document.createElement("input")
cenaPolozkyKs.setAttribute("type", "text")
cenaPolozkyKs.id = "cenaks-" + uuid
cenaPolozkyKs.value = (cena >= 0) ? cenaks : 0
let mjPolozky = document.createElement("select")
mjPolozky.id = "mj-" + uuid
mjPolozky.className = "prepocitavaniCeny"
let mjMoznosti = [{"klic": "m", "hodnota": "m"}, {"klic": "m2","hodnota": "m²"},{"klic": "m3","hodnota": "m³"},{"klic": "ks","hodnota": "ks"}]
mjMoznosti.forEach((x, index, array) => {
var option = document.createElement("option");
option.value = x.klic
option.text = x.hodnota
mjPolozky.appendChild(option);
});
mjPolozky.value = mj
// nova.appendChild(document.createTextNode(" Nazev "));
// nova.appendChild(nazevPolozky)
nova.appendChild(document.createTextNode(" Rozměry "));
nova.appendChild(rozmeryPolozky)
nova.appendChild(document.createTextNode(" MJ "));
nova.appendChild(mjPolozky)
nova.appendChild(document.createTextNode(" Cena bez DPH "));
nova.appendChild(cenaPolozky)
nova.appendChild(document.createTextNode(" Cena s DPH "));
nova.appendChild(cenaPolozkySDPH)
nova.appendChild(document.createTextNode(" Cena s DPH/ks "));
nova.appendChild(cenaPolozkyKs)
return nova
}
function nactiKatalogy() {
url = "/skripty/katalog.php"
$.ajax({
type: "POST",
url: url,
dataType: "json",
success: function(x, status, xhr) {
$("#fileSelect").empty();
for(i = 0; i < x.length; i++) {
option = '<option value="'+ x[i] + '">' + x[i] + '</option>';
$("#fileSelect").append(option)
}
}
});
}
function katalog2JSON() {
let katalog = {} let katalog = {}
$("#katalog").children().each(function(i) { $("#katalog").children().each(function(i) {
let kategorie = $(this).find("input[id^='nazev-']").first().val(); let kategorie = $(this).find("input[id^='nazev-']").first().val();
@@ -179,8 +252,12 @@ function ulozitKatalog() {
katalog[kategorie] = produkty katalog[kategorie] = produkty
}) })
data = {"security_token":"jebatceckyhajzel", "akce":"nahraj", "katalog": katalog} return katalog
url = "https://drevoprodej-benes.cz/skripty/katalog.php" }
function ulozitKatalog() {
data = {"security_token":"jebatceckyhajzel", "akce":"nahraj", "katalog": katalog2JSON()}
url = "/skripty/katalog.php"
dataType = "json" dataType = "json"
$.ajax({ $.ajax({
@@ -190,93 +267,13 @@ function ulozitKatalog() {
dataType: "json", dataType: "json",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function(x, status, xhr) { success: function(x, status, xhr) {
console.log(x) nactiKatalogy();
} }
}); });
} }
function vyrobPolozku(nazev, cena, mj, rozmery, cenadph = -1, cenaks = -1) {
let uuid = uuidv4()
let btnDel = document.createElement("button");
btnDel.className = "vymaz"
btnDel.textContent = "✗"
let nova = document.createElement("div");
nova.className = "list-group-item nested-2 polozka";
nova.id = uuid
nova.appendChild(btnDel)
let nazevPolozky = document.createElement("input")
nazevPolozky.setAttribute("type", "text")
nazevPolozky.value = nazev
nazevPolozky.id = "nazev-" + uuid
let rozmeryPolozky = document.createElement("input")
rozmeryPolozky.setAttribute("type", "text")
rozmeryPolozky.value = rozmery
rozmeryPolozky.id = "rozmery-" + uuid
rozmeryPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
let cenaPolozky = document.createElement("input")
cenaPolozky.setAttribute("type", "text")
cenaPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
cenaPolozky.value = cena
cenaPolozky.id = "cena-" + uuid
let cenaPolozkySDPH = document.createElement("input")
cenaPolozkySDPH.setAttribute("type", "text")
cenaPolozkySDPH.id = "cenadph-" + uuid
cenaPolozkySDPH.value = (cena >= 0) ? cenadph : 0
let cenaPolozkyKs = document.createElement("input")
cenaPolozkyKs.setAttribute("type", "text")
cenaPolozkyKs.id = "cenaks-" + uuid
cenaPolozkyKs.value = (cena >= 0) ? cenaks : 0
let mjPolozky = document.createElement("select")
mjPolozky.id = "mj-" + uuid
mjPolozky.setAttribute("onChange", "vypocitejCenu(this.parentElement.id)")
let mjMoznosti = [{"klic": "m", "hodnota": "m"}, {"klic": "m2","hodnota": "m²"},{"klic": "m3","hodnota": "m³"},{"klic": "ks","hodnota": "ks"}]
mjMoznosti.forEach((x, index, array) => {
var option = document.createElement("option");
option.value = x.klic
option.text = x.hodnota
mjPolozky.appendChild(option);
});
nova.appendChild(document.createTextNode(" Nazev "));
nova.appendChild(nazevPolozky)
nova.appendChild(document.createTextNode(" Rozmery "));
nova.appendChild(rozmeryPolozky)
nova.appendChild(document.createTextNode(" MJ "));
nova.appendChild(mjPolozky)
nova.appendChild(document.createTextNode(" Cena bez DPH "));
nova.appendChild(cenaPolozky)
nova.appendChild(document.createTextNode(" Cena s DPH "));
nova.appendChild(cenaPolozkySDPH)
nova.appendChild(document.createTextNode(" Cena s DPH/ks "));
nova.appendChild(cenaPolozkyKs)
return nova
}
function nactiKatalogy() {
url = "https://drevoprodej-benes.cz/skripty/katalog.php"
$.ajax({
type: "POST",
url: url,
dataType: "json",
success: function(x, status, xhr) {
for(i = 0; i < x.length; i++) {
option = '<option value="'+ x[i] + '">' + x[i] + '</option>';
$("#fileSelect").append(option)
}
}
});
}
function vyrobKategorii(nazev) { function vyrobKategorii(nazev) {
let uuid = uuidv4() let uuid = uuidv4()
let kategorie = document.createElement("div") let kategorie = document.createElement("div")
@@ -329,7 +326,7 @@ function naplnitKatalog() {
let katalog; let katalog;
data = {"security_token":"jebatceckyhajzel", "akce":"obsah", "soubor": $("#fileSelect :selected").val()} data = {"security_token":"jebatceckyhajzel", "akce":"obsah", "soubor": $("#fileSelect :selected").val()}
url = "https://drevoprodej-benes.cz/skripty/katalog.php" url = "/skripty/katalog.php"
dataType = "json" dataType = "json"
$.ajax({ $.ajax({
@@ -339,22 +336,27 @@ function naplnitKatalog() {
dataType: "json", dataType: "json",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function(x, status, xhr) { success: function(x, status, xhr) {
katalog = JSON.parse(x) JSON2Katalog(x)
Object.entries(katalog).forEach(([kategorie, produkty]) => {
let kat = vyrobKategorii(kategorie)
katProdCont = kat.getElementsByClassName("polozky")[0]
Object.entries(produkty).forEach(([nazev, data]) => {
let prod = vyrobPolozku(nazev, data.cena, data.mj, data.rozmery, data.cenadph, data.cenaks)
katProdCont.appendChild(prod)
});
kata.appendChild(kat)
});
} }
}); });
} }
function JSON2Katalog(x) {
katalog = JSON.parse(x)
Object.entries(katalog).forEach(([kategorie, produkty]) => {
let kat = vyrobKategorii(kategorie)
katProdCont = kat.getElementsByClassName("polozky")[0]
Object.entries(produkty).forEach(([nazev, data]) => {
console.log(data.mj)
let prod = vyrobPolozku(nazev, data.cena, data.mj, data.rozmery, data.cenadph, data.cenaks)
katProdCont.appendChild(prod)
});
kata.appendChild(kat)
});
}
function vystavitKatalog() { function vystavitKatalog() {
let soubor = $("#fileSelect :selected").val() let soubor = $("#fileSelect :selected").val()
let potvrzeni = confirm("Zverejnit katalog " + soubor + " na web ?") let potvrzeni = confirm("Zverejnit katalog " + soubor + " na web ?")
@@ -363,7 +365,8 @@ function vystavitKatalog() {
} }
data = {"security_token":"jebatceckyhajzel", "akce":"zverejni", "soubor": soubor} data = {"security_token":"jebatceckyhajzel", "akce":"zverejni", "soubor": soubor}
url = "https://drevoprodej-benes.cz/skripty/katalog.php" //url = "https://drevoprodej-benes.cz/skripty/katalog.php"
url = "/skripty/katalog.php"
dataType = "json" dataType = "json"
$.ajax({ $.ajax({
@@ -375,8 +378,11 @@ function vystavitKatalog() {
}); });
} }
// ????
document.getElementById("telo").appendChild(kata) document.getElementById("telo").appendChild(kata)
$(document).ready(function () { $(document).ready(function () {
nactiKatalogy() nactiKatalogy()
}); });

View File

@@ -1,88 +0,0 @@
{
"Kategorie1": {
"Produkt1": {
"nazev": "Produkt1",
"rozmery": "20/20/250",
"cena": "300",
"cenadph": "363",
"cenaks": "908",
"mj": "m"
},
"Produkt2": {
"nazev": "Produkt2",
"rozmery": "25/25/200",
"cena": "310",
"cenadph": "50",
"cenaks": "55",
"mj": "m"
},
"Produkt11": {
"nazev": "Produkt11",
"rozmery": "10/10/1001",
"cena": "100",
"cenadph": "121",
"cenaks": "13",
"mj": "m3"
}
},
"Kategorie2": {
"Produkt3": {
"nazev": "Produkt3",
"rozmery": "2/15/300",
"cena": "100",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt4": {
"nazev": "Produkt4",
"rozmery": "2/15/400",
"cena": "110",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt5": {
"nazev": "Produkt5",
"rozmery": "2/15/500",
"cena": "120",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt21": {
"nazev": "Produkt21",
"rozmery": "10/10/100",
"cena": "1001",
"cenadph": "1212",
"cenaks": "1212",
"mj": "m"
}
},
"Kategorie3": {
"Produkt6": {
"nazev": "Produkt6",
"rozmery": "2/14/400",
"cena": "200",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt7": {
"nazev": "Produkt7",
"rozmery": "2/14/500",
"cena": "210",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt31": {
"nazev": "Produkt31",
"rozmery": "10/10/500",
"cena": "100",
"cenadph": "121",
"cenaks": "7",
"mj": "m3"
}
}
}

View File

@@ -1,72 +0,0 @@
{
"Kategorie1": {
"Produkt1": {
"nazev": "Produkt1",
"rozmery": "20/20/200",
"cena": "300",
"cenadph": "50",
"cenaks": "55",
"mj": "m"
},
"Produkt2": {
"nazev": "Produkt2",
"rozmery": "25/25/200",
"cena": "310",
"cenadph": "50",
"cenaks": "55",
"mj": "m"
},
"Nova polozka": {
"nazev": "Nova polozka",
"rozmery": "10/10/100",
"cena": "100",
"cenadph": "-1",
"cenaks": "-1",
"mj": "m"
}
},
"Kategorie2": {
"Produkt3": {
"nazev": "Produkt3",
"rozmery": "2/15/300",
"cena": "100",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt4": {
"nazev": "Produkt4",
"rozmery": "2/15/400",
"cena": "110",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt5": {
"nazev": "Produkt5",
"rozmery": "2/15/500",
"cena": "120",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
}
},
"Kategorie3": {
"Produkt6": {
"nazev": "Produkt6",
"rozmery": "2/14/400",
"cena": "200",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt7": {
"nazev": "Produkt7",
"rozmery": "2/14/500",
"cena": "210",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
}
}
}

View File

@@ -1,64 +0,0 @@
{
"Kategorie1": {
"Produkt1": {
"nazev": "Produkt1",
"rozmery": "20/20/200",
"cena": "300",
"cenadph": "50",
"cenaks": "55",
"mj": "m"
},
"Produkt2": {
"nazev": "Produkt2",
"rozmery": "25/25/200",
"cena": "310",
"cenadph": "50",
"cenaks": "55",
"mj": "m"
}
},
"Kategorie2": {
"Produkt3": {
"nazev": "Produkt3",
"rozmery": "2/15/300",
"cena": "100",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt4": {
"nazev": "Produkt4",
"rozmery": "2/15/400",
"cena": "110",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
},
"Produkt5": {
"nazev": "Produkt5",
"rozmery": "2/15/500",
"cena": "120",
"cenadph": "60",
"cenaks": "65",
"mj": "m"
}
},
"Kategorie3": {
"Produkt6": {
"nazev": "Produkt6",
"rozmery": "2/14/400",
"cena": "200",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt7": {
"nazev": "Produkt7",
"rozmery": "2/14/500",
"cena": "210",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
}
}
}

View File

@@ -1,88 +1,48 @@
{ {
"Kategorie1": { "Kategorie1asdf": {
"Produkt1": { "Produkt1": {
"nazev": "Produkt1", "nazev": "Produkt1",
"rozmery": "20/20/250", "rozmery": "2,4/14/400",
"cena": "300", "cena": "8190",
"cenadph": "363", "cenadph": "9910",
"cenaks": "908", "cenaks": "134",
"mj": "m" "mj": "m"
}, },
"Produkt2": { "Produkt2": {
"nazev": "Produkt2", "nazev": "Produkt2",
"rozmery": "25/25/200", "rozmery": "25/25/200",
"cena": "310", "cena": "310",
"cenadph": "50", "cenadph": "376",
"cenaks": "55", "cenaks": "376",
"mj": "m" "mj": "ks"
},
"Produkt11": {
"nazev": "Produkt11",
"rozmery": "10/10/1001",
"cena": "100",
"cenadph": "121",
"cenaks": "13",
"mj": "m3"
} }
}, },
"Kategorie2": { "Kategorie2fdsa": {
"Produkt3": { "Produkt3": {
"nazev": "Produkt3", "nazev": "Produkt3",
"rozmery": "2/15/300", "rozmery": "2/15/300",
"cena": "100", "cena": "100",
"cenadph": "60", "cenadph": "121",
"cenaks": "65", "cenaks": "363",
"mj": "m" "mj": "m"
}, },
"Produkt4": { "Produkt4": {
"nazev": "Produkt4", "nazev": "Produkt4",
"rozmery": "2/15/400", "rozmery": "2/15/400",
"cena": "110", "cena": "110",
"cenadph": "60", "cenadph": "134",
"cenaks": "65", "cenaks": "80",
"mj": "m" "mj": "m2"
}, },
"Produkt5": { "Produkt5": {
"nazev": "Produkt5", "nazev": "Produkt5",
"rozmery": "2/15/500", "rozmery": "2/15/500",
"cena": "120", "cena": "120",
"cenadph": "60", "cenadph": "146",
"cenaks": "65", "cenaks": "3",
"mj": "m"
},
"Produkt21": {
"nazev": "Produkt21",
"rozmery": "10/10/100",
"cena": "1001",
"cenadph": "1212",
"cenaks": "1212",
"mj": "m"
}
},
"Kategorie3": {
"Produkt6": {
"nazev": "Produkt6",
"rozmery": "2/14/400",
"cena": "200",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt7": {
"nazev": "Produkt7",
"rozmery": "2/14/500",
"cena": "210",
"cenadph": "70",
"cenaks": "75",
"mj": "m"
},
"Produkt31": {
"nazev": "Produkt31",
"rozmery": "10/10/500",
"cena": "100",
"cenadph": "121",
"cenaks": "7",
"mj": "m3" "mj": "m3"
} }
} },
"Kategorie3": [],
"Kategorie 4": []
} }

View File

@@ -1,6 +1,7 @@
data = {"security_token":"jebatceckyhajzel", "akce":"frontend"} data = {"security_token":"jebatceckyhajzel", "akce":"frontend"}
url = "https://drevoprodej-benes.cz/skripty/katalog.php" //url = "https://drevoprodej-benes.cz/skripty/katalog.php"
url = "/skripty/katalog.php"
dataType = "json" dataType = "json"
$(document).ready(function () { $(document).ready(function () {

View File

@@ -63,7 +63,7 @@ function nahrajKatalog($data) {
$i++; $i++;
} }
file_put_contents($cesta, $jsonData); echo json_encode(file_put_contents($cesta, $jsonData));
} }
// Zverejni je hotovy // Zverejni je hotovy
@@ -117,7 +117,7 @@ function vykresliKatalog() {
foreach($v as $p) { foreach($v as $p) {
$output .= ' <tr> $output .= ' <tr>
<td scope="row" class="col-6">'.$p->nazev.'</td> <td scope="row" class="col-6">'.$p->rozmery.'</td>
<td class="col-2">'.$p->mj.'</sup></td> <td class="col-2">'.$p->mj.'</sup></td>
<td class="text_vlevo col-2">'.$p->cena.'</td> <td class="text_vlevo col-2">'.$p->cena.'</td>
<td class="text_vlevo col-2">'.$p->cenadph.'</td> <td class="text_vlevo col-2">'.$p->cenadph.'</td>

BIN
web.tar

Binary file not shown.