wdrożenia PrestaShop

[pomoc] dodanie podstrony CSM do formularza kontaktowego

  • 7 Odpowiedzi
  • 5574 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline lof

  • Mieszkaniec
  • *****
  • 748
  • 1
    • moduły, szablony, integracje do prestashop!
[pomoc] dodanie podstrony CSM do formularza kontaktowego
« dnia: Styczeń 26, 2011, 10:33:45 am »
często soosby którym zakładam sklep chcą aby razem z  formularzem kontaktowym była treść i najlepiej aby bła edytowalna z panelu.. a więc jak to zrobić w prosty sposób.

otwieramy plik contact-form.php

i dopisujemy po linijce
$email = Tools::safeOutput(Tools::getValue('from', ((isset($cookie) AND isset($cookie->email) AND Validate::isEmail($cookie->email)) ? $cookie->email : '')));
poniższy kod

//will be initialized bellow...
if(intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1)
$rewrited_url = null;
#include(dirname(__FILE__).'/header.php');
$rewrited_url = $link->getCmsLink($cms, $cms->link_rewrite);
$id_cms = 7;
$cms = new CMS(intval($id_cms), intval($cookie->id_lang));
$smarty->assign(array(
'errors' => $errors,
'email' => $email,
'cms' => $cms,
'content_only' => intval(Tools::getValue('content_only'))
));


gdzie $id_cms = 7; to nasze strone CMS o ID 7 - podane ID jest w liscie stron wpanelu.

teraz szukamy pliku: contact-form.tpl

i dodajemy:

<div style="margin-top:10px;margin-bottom:10px;">
{$cms->content}
</div>

w dowolnym miejscu gdzie chcemy wyświetlić zawartość naszej strony CMS w formularzu.
pomoc na forum darmowa
pomoc na gg płatna - 24909954
integracja z allegro
MODUŁY SZABLONY INTEGRACJE -> www.prestahelp.com

*

Offline kuras

  • Tubylec
  • ****
  • 257
  • 1
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #1 dnia: Styczeń 27, 2011, 10:37:18 am »
Ja to robię na inny sposób, według mnie prościej ale może niezbyt poprawnie programistycznie.

Wrzucam poniższy kod do pliku tpl w którym ma być treść z CMS'a
{php}
     $base_dir_ssl = $this->get_template_vars('base_dir_ssl');
     include($base_dir_ssl.'cms.php?id_cms=XXX&content_only=1');
{/php}


*

Offline lof

  • Mieszkaniec
  • *****
  • 748
  • 1
    • moduły, szablony, integracje do prestashop!
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #2 dnia: Styczeń 27, 2011, 10:49:03 am »
jeśli działa i nie pokazuje żadnych błędów to pewnie jest ok  ;D
pomoc na forum darmowa
pomoc na gg płatna - 24909954
integracja z allegro
MODUŁY SZABLONY INTEGRACJE -> www.prestahelp.com

*

Offline scholl

  • Wdrożenia PrestaShop
  • Mieszkaniec
  • *****
  • 511
  • 0
  • Płeć: Mężczyzna
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #3 dnia: Styczeń 27, 2011, 04:34:28 pm »
dzięku za infor, pewnie się przyda ;]

*

Offline kendrix

  • Nowy
  • *
  • 2
  • 0
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #4 dnia: Lipiec 20, 2011, 12:48:34 am »
witam

wiem, że trochę odgrzewam ten wątek ale mam pytanie do kuras
czy mógłbyś napisać w jakiej wersji PS u ciebie to działa?

ja próbowałem pod wersją 1.4 i nic mi nie wychodzi.

pozdrawiam

*

Offline d4b

  • Tubylec
  • ****
  • 122
  • 3
  • Płeć: Mężczyzna
    • tworzenie stron
  • Status: forum
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #5 dnia: Lipiec 20, 2011, 12:13:08 pm »
@kendrix

$allow_php_tag = ustaw na true w \tools\smarty\Smarty.class.php :)
Remember to brush your teeth !
tworzenie stron w rozsądnej cenie oraz biuro rachunkowe poznań

*

Offline kendrix

  • Nowy
  • *
  • 2
  • 0
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #6 dnia: Lipiec 20, 2011, 11:50:57 pm »
niestety nic to nie zmieniło  :(

*

Offline 26filip

  • Nowy
  • *
  • 5
  • 0
  • Płeć: Mężczyzna
Odp: [pomoc] dodanie podstrony CSM do formularza kontaktowego
« Odpowiedź #7 dnia: Wrzesień 09, 2011, 06:49:43 pm »
To powinno zadziałać: (wersja testowa 1.4.2.5)

Plik: controllers\ContactController.php

Po linijce: parent::preProcess();Wstawiamy: $this->cms = new CMS(XXX, self::$cookie->id_lang);
Po linijce: parent::process();Wstawiamy: self::$smarty->assign(array(
'cms' => $this->cms,
'content_only' => (int)(Tools::getValue('content_only')),
'path' => ((isset($this->cms->id_cms_category) AND $this->cms->id_cms_category) ?
Tools::getFullPath((int)($this->cms->id_cms_category), $this->cms->meta_title, 'CMS') :
Tools::getFullPath(1, $this->cms->meta_title, 'CMS'))
));

I na końcu w pliku contact-form.tpl wstawiamy:

<div class="rte{if $content_only} content_only{/if}">
{$cms->content}
</div>

Oczywiście w miejsce XXX należy wstawić ID strony CMS.