Jump to content
  • 0

Opisy produktów przechowywane w plikach a nie w bazie


ozyns

Question

Witajcie. 

Jest to mój pierwszy wpis na forum, ale często je przeglądałem szukając jakiś rozwiązań lub choćby wskazówek. 

 

Tym razem uroiło mi się coś nowego. 

 

Czy jest sposób aby opis produktu był przechowywany w pliku a nie w bazie danych?

Dlaczego? 

 

Sytuacja. 

Pracuję nad sklepem, który w ofercie będzie posiadał dużo produktów o identycznym opisie - tak, wiem można to zrobić inaczej ale tak ma być i już ;)

Przykładowo - opis produktu z wszystkimi znacznikami html zajmuje 22 KB. Produkt ten wystąpi w sklepie 160 razy 

Inny produkt opis tylko 12 KB, ale wystąpi ponad 200 razy. 

W pewnym momencie baza zrobi się wręcz spasiona od samych opisów, dlatego chciałbym mieć je w pliku na serwerze a nie w bazie. Klient wchodzi do sklepu, wybiera produkt, a "długi opis" jest ładowany z pliku.

 

Zalety? 

- zmniejszenie rozmiarów bazy, więc odbije się to na wydajności. 

- możliwość edytowania w moim przypadku jednego pliku zawierającego opis a nie aktualizacja kilkuset pozycji. 

 

W wordpress spotkałem się kiedyś z taką możliwością "wstrzykiwania" i pomyślałem, że może już ktoś kiedyś robił coś podobnego. 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

może tak:

przygotuj sobie plik np. opis_X.tpl, zapisz go w folderze Twojej templatki,

X w nazwie pliku to jakiś identyfikator, wykorzystaj do tego np. pole UPC (lub dodaj do bazy nowe pole)


dołącz go do szablonu

{include file="$tpl_dir./opis_`$product->upc`.tpl"}

przed dołączeniem pliku warto też sprawdzić czy plik istnieje
 

  • Like 1
Link to comment
Share on other sites

  • 0

Nie mogłem sobie z tym poradzić.

Z prestą jestem bardzo początkujący, więc jak jeszcze się podszkolę to wypróbuje Twój sposób.

Na chwilę obecną wykorzystałem iframe w opisie produktu. 

 

Dzięki wielkie za uwagę :)

Link to comment
Share on other sites

  • 0

w pliku product.tpl odszukaj kod:
 

{if isset($product) && $product->description}
    <!-- More info -->
    <section class="page-product-box">
        <h3 class="page-product-heading">{l s='More info'}</h3>
        <!-- full description -->
        <div  class="rte">{$product->description}</div>
    </section>
    <!--end  More info -->
{/if}


zamień na :

 

{if (isset($product) && $product->description) || $product->upc }
    <!-- More info -->
    <section class="page-product-box">
        <h3 class="page-product-heading">{l s='More info'}</h3>
        <!-- full description -->
        <div class="rte">
            {$product->description}

            {* ------ dolaczenie pliku *}
            {assign var="plik" value="$tpl_dir./opis_`$product->upc`.tpl"}
            {if  $plik|file_exists}
                {include file="$plik"}
            {/if}
            {* end ----- dolaczenie pliku *}
        
        </div>
    </section>
    <!--end  More info -->
{/if}

identyfikator pliku wpisz w polu UPC

powinno działać

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...