Aktualizace vytvořené web stránky před odesláním k zobrazení

vlkodlak
Člen | 175
+
0
-

Zdravím pánové,
Vytvořil jsem web stránku a protože se stránka skládá z několika menších komponent, musím v každé udělat smyčku s prohledávacím testem na obsah, vše funguje, ale pokud je na stránce zobrazeno více prvků, trvá to dlouho, a to nemluvím o nutnosti předávat hledanou hodnotu, každé zobrazené komponentě. v důsledku toho exponenciálně narůstá doba vykreslování a „složitost kódu“. Myslel jsem, že bych zachytil výslednou stránku před odesláním k zobrazení a mohl spustit test pouze jednou na stránku jako plain text místo N krát u každé zobrazené komponenty.

Případně nebráním se diskusi. Zatím mně napadlo jen toto.

Stručně

1. Potřebuji zachytit toto


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title id="_title">Welcome!</title>
</head>

<body>
  <div id="menu">
	<ul>
	  <li><a href="...">Products</a></li>
	  <li><a href="...">Testimonials</a></li>
	  <li><a href="...">FAQ</a></li>
	  <li><a href="...">About us</a></li>
	</ul>
  </div> <!-- /menu -->

  <div id="breadcrumbs">
	<a href="./">Home</a> &gt; Products
  </div>

  <div id="main">
	<h1>Welcome!</h1>

	<p>Lorem ipsum dollar sit.</p>
  </div> <!-- /main -->

  <div id="footer">
	<p>All rights reserved.</p>
  </div>
</body>
</html>

2. upravit/aktualizovat pomocí mých kódů

3. a odeslání uživateli k zobrazení

Marek Bartoš
Nette Blogger | 1273
+
0
-
  1. Máš nějaký důvod, proč do šablony nepošleš proměnou a nevypíšeš tam tu? Můžeš si přece stejnou proměnnou předat do více komponent (předpokládám, že píšeš o Nette komponentách). Vyhneš se tak potřebě cokoli nahrazovat po vykreslení skrze Latte.
  2. Co se v šabloně vůbec snažíš nahradit?
  3. Pokud to opravdu potřebuješ dělat takto, jak vypadá kód, co obsah šablony nahrazuje?
Kamil Valenta
Člen | 815
+
+1
-

Pokud je obsah komponent stejný pro všechny návštěvníky, můžeš cachovat v latte s tagem a invalidovat někde v administraci při editaci obsahu.

Weby skládané z komponent / widgetů jsou ale běžné a pomalé nejsou, takže je dost možná něco navrženo ne úplně optimálně někde hlouběji a možná zbytečně řešíš důsledek místo příčiny. Nechceš ukázat co se děje v těch komponentách?

vlkodlak
Člen | 175
+
0
-

@MarekBartoš
Jde o filtr vyhledaní dat, konkrétně textových hodnot napřič všemi tabulkami a hodnotami. Kdy uživatel ve filtru napíše „růžový“ a kód projde veškeré záznamy a dohledá onen řetězec a vypíše záznamy. A já bych rád toto ještě zvýraznil. Vyhledávání funguje. Není třeba řešit. Zvýraznění řeším.
Co bych rad jednoduchou substituci (např pomoci PHP příkazu substr_replace) zvýraznil text na obrazovce.
Jak teď píší Ti tento popis docházím k „řešení“, že chci nebo ne musím záměnu přidat k vyhledávání v komponentách sestavující stránku.

vlkodlak
Člen | 175
+
0
-

@KamilValenta ano, máš pravdu, zaměřim se na optimalizaci

nightfish
Člen | 517
+
+1
-

@vlkodlak
…A já bych rád toto ještě zvýraznil. Vyhledávání funguje. Není třeba řešit. Zvýraznění řeším.

Nabízí se zvýraznění udělat až frontendově pomocí JavaScriptu, např. knihovnou mark.js.

vlkodlak
Člen | 175
+
0
-

@nightfish wow, děkují za tip. toto řešení se mi líbi a nemusim vytvářět robustni konstrukce.