Cautare dupa tag-uri
Last Updated: Jun 18 2017 13:23, Started by
alex05ok
, Jun 16 2017 10:03
·
0
#1
Posted 16 June 2017 - 10:03
Buna ziua!
Doresc sa fac multe pagini web si un sistem de cautare a lor dupa unul sau mai multe tag-uri. Pagina principala sa aiba o casuta text si un buton de cautare. Cand introduc un tag (cuvant), mai jos sa imi afiseze o lista cu paginile care au acel tag, una sub alta. Daca mai introduc un tag sa imi afiseze lista cu paginile care au ambele tag-uri. Cred ca maxim 10 tag-uri sunt suficiente. Daca vreau sa elimin un tag sa o pot face usor, fara sa o iau de la capat. Acest site imi trebuie pentru utilizare offline. Multumesc! Edited by alex05ok, 16 June 2017 - 10:07. |
#2
Posted 16 June 2017 - 10:22
Ceva asemanator este pe Blogger care foloseste Label.
Pe link-ul blogului poti cauta dupa mai multe tag-uri blogspot.ro/search/label/tag1+tag2+tag3 Daca nu se poate cum am zis eu mai sus, si asa ca la Blogger este suficient. Multumesc! Edited by alex05ok, 16 June 2017 - 10:23. |
#3
Posted 16 June 2017 - 10:43
Si mai exact ce urmaresti prin acest topic?
Ce vrei tu nu exista, decat daca te apuci sa faci tu unul custom. Sau cel mult sa adaptezi ceva existent sa faca ce vrei tu. Dar ceva imi spune ca nu ai astfel de indemanari si vrei unul care sa mearga by default cum vrei tu. Daca ai spune si la ce exact vrei sa implementezi treaba at fi bine. Chestia asta de exemplu o poti face cu un sistem de shopping cu functiile filter, dar nu stiu in ce masura se potriveste pentru ce vrei tu, ca nu ai spus concret. Oricum si aici trebuie sa operezi niste modificari. |
#4
Posted 16 June 2017 - 11:33
Pentru ce clasă / curs ai primit tema asta? Ce tool-uri / limbaje poți folosi? Cât timp ai la dispoziție?
|
#5
Posted 16 June 2017 - 11:56
debate, on 16 iunie 2017 - 11:33, said:
Pentru ce clasă / curs ai primit tema asta? Ce tool-uri / limbaje poți folosi? Cât timp ai la dispoziție? Este un proiect personal. Am mai aflat ca ce vreau eu se numeste filtrare, am gasit cateva exemple cu numere in Javascript. De exemplu, dintr-o lista sa aleaga numerele pare cu ajutorul "Array". Vreau in orice program. Si cei de la PC Garage au optiunea asta de filtrare in link este trecut ......./filtre/tag1/tag2/tag3/ si la Emag ......./filter/tag1/tag2/tag3/ Daca schimb ordinea tag-urilor nu conteaza, este aceeasi pagina. Asa vreau si eu. Multumesc! Edited by alex05ok, 16 June 2017 - 11:57. |
#6
Posted 16 June 2017 - 14:17
#7
Posted 17 June 2017 - 07:33
Cel mai apropiat exeplu de ce vreau eu l-am gasit aici https://www.w3school..._js_filter_list
Sunt totusi 2 probleme: 1) nu pot cauta dupa mai multe tag-uri 2) numele tag-uli trebuie sa fie in numele elementului din lista In acest exemplu https://www.w3school...ists_filtertext problema 2 este rezolvata dar pot introduce un singur tag. multumesc! Edited by alex05ok, 17 June 2017 - 07:41. |
#8
Posted 17 June 2017 - 08:24
N-are nici o treaba getElementsByTagName() (ce se uita dupa a, li, div si alte taguri HTML) cu taguri definite de tine pentru siteuri.
https://jsfiddle.net/p2yvmg9o/4/ Apoi, aria de programare nu se adreseaza celor ce doar pun o cerinta si asteapta rezultate, pentru cereri de soft existand Software la cerere |
#9
Posted 17 June 2017 - 11:55
Ca să faci ce vrei tu ai nevoie să înveți HTML, Javascript (ca să manipulezi elementele din pagină) și poate încă un limbaj pentru server, dacă nu folosești pentru asta tot Javascript. Pe scurt, bazele programării web.
|
#10
Posted 17 June 2017 - 16:11
Sunt aproape gata. Multumesc dani.user!
Mai vreau sa stiu doar cum pot sa pun link-uri personalizate la fiecare site in parte. De exemplu: Site 1 sa aiba link 1, Site 2 sa aiba link 2 etc. Link-ul nu are aceeasi denumire ca Site-ul. https://jsfiddle.net/y1bdg0uL/ <!DOCTYPE html> <html> <body> <script> var data = [ { "name": "Site 1", "tags": ["1", "2", "3"] }, { "name": "Site 2", "tags": ["1", "2"] }, { "name": "Site 3", "tags": ["2", "3"] }, { "name": "Site 4", "tags": ["4", "3"] }, { "name": "Site 5", "tags": ["4", "2", "5"] } ] window.search = function() { var toSearch = document.getElementById("myInput").value.toUpperCase(); var filterFunction = function(element) { return false; } if (toSearch.length) { var tagsProvided = toSearch.split(/[ ,\t]/); filterFunction = function(element) { var keep = true; for (var i = 0; i < tagsProvided.length; ++i) { var tagProvided = tagsProvided[i]; if (tagProvided.length < 1) continue; var currentTagFound = false; for (var j = 0; j < element.tags.length; ++j) { currentTagFound |= (tagProvided.toUpperCase() == element.tags[j].toUpperCase()); } keep &= currentTagFound; } return ! keep; } } ul = document.getElementById("myUL"); while (ul.lastChild) { ul.removeChild(ul.lastChild); } var newhrefid; for (var i = 0; i < data.length; ++i) { var element = data[i]; if (filterFunction(element)) continue; var li = document.createElement("li"); var a = document.createElement("a"); a.appendChild(document.createTextNode(element.name)); a.setAttribute("href", "http://"+element.name); li.appendChild(a); ul.appendChild(li); } } search(); </script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <h2>My WebSites</h2> <input type="text" id="myInput" onkeyup="search()" placeholder="Search for tags.." title="Type in a tag"> <ul id="myUL"> </ul> </body> </html> Edited by alex05ok, 17 June 2017 - 16:34. |
|
#11
Posted 18 June 2017 - 13:23
Multumesc tuturor pentru ajutor, in special lui dani.user.
Am ajuns la versiunea finala. http://jsfiddle.net/y1bdg0uL/1/ <!DOCTYPE html> <html> <body> <script> var data = [ { "name": "Site1", "link":"1.html", "tags": ["1", "2", "3"] }, { "name": "Site2", "link": "2.html", "tags": ["1", "2"] }, { "name": "Site 3", "link": "3.html", "tags": ["2", "3"] }, { "name": "Site 4", "link": "4.html", "tags": ["4", "3"] }, { "name": "Site 5", "link": "5.html", "tags": ["4", "2", "5"] } ] window.search = function() { var toSearch = document.getElementById("myInput").value.toUpperCase(); var filterFunction = function(element) { return false; } if (toSearch.length) { var tagsProvided = toSearch.split(/[ ,\t]/); filterFunction = function(element) { var keep = true; for (var i = 0; i < tagsProvided.length; ++i) { var tagProvided = tagsProvided[i]; if (tagProvided.length < 1) continue; var currentTagFound = false; for (var j = 0; j < element.tags.length; ++j) { currentTagFound |= (tagProvided.toUpperCase() == element.tags[j].toUpperCase()); } keep &= currentTagFound; } return ! keep; } } ul = document.getElementById("myUL"); while (ul.lastChild) { ul.removeChild(ul.lastChild); } var newhrefid; for (var i = 0; i < data.length; ++i) { var element = data[i]; if (filterFunction(element)) continue; var li = document.createElement("li"); var a = document.createElement("a"); a.appendChild(document.createTextNode(element.name)); a.setAttribute("href", element.link); li.appendChild(a); ul.appendChild(li); } } search(); </script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <h2>My WebSites</h2> <input type="text" id="myInput" onkeyup="search()" placeholder="Search for tags.." title="Type in a tag"> <ul id="myUL"> </ul> </body> </html> Edited by alex05ok, 18 June 2017 - 13:32. |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users