1. Dodawanie kodu html w backendzie zamiast tekstu.
{$conditions}
na
{$conditions|escape:'html' nofilter}
2. Poprawne linkowanie do regulaminu i polityki w zapisie do newslettera, przy zakładaniu konta i w zakładce "moje konto". (wersja 1.7.8.3)
Jeśli używasz modułu ps_emailsubscription i przez panel administratora wprowadzasz warunki zapisu do newslettera, co wygląda mniej więcej tak:
W zakładce „moje konto” i przy zakładaniu konta spotkasz się z denerwującym zachowaniem kodu html, który nie zamienia się na link jak tutaj:
Żeby rozwiązać ten problem musisz dotrzeć do ścieżki modules\ps_emailsubscription i otworzyć plik ps_emailsubscription.php a następnie odszukać linię 1005, a dokładnie funkcję:
public function hookAdditionalCustomerFormFields($params)
{
$label = $this->trans(
'Sign up for our newsletter[1][2]%conditions%[/2]',
[
'[1]' => '<br>',
'[2]' => '<em>',
'%conditions%' => Tools::htmlentitiesUTF8(
Configuration::get('NW_CONDITIONS', $this->context->language->id)
),
'[/2]' => '</em>',
],
'Modules.Emailsubscription.Shop'
);
return [
(new FormField())->setName('newsletter')->setType('checkbox')->setLabel($label),
];
}
i zamienić ją na:
public function hookAdditionalCustomerFormFields($params)
{
$label = $this->trans(
'Sign up for our newsletter[1][2]%conditions%[/2]',
[
'[1]' => '<br>',
'[2]' => '<em>',
'%conditions%' => #Tools::htmlentitiesUTF8(
Configuration::get('NW_CONDITIONS', $this->context->language->id)
#),
,
'[/2]' => '</em>',
],
'Modules.Emailsubscription.Shop'
);
return [
(new FormField())->setName('newsletter')->setType('checkbox')->setLabel($label),
];
}
To rozwiązanie nie działa? Spróbuj więc odszukać plik
/themes/alysum/templates/_partials/form-fields.tpl
i zamiast (linia 90-98):
{block name='form_field_item_checkbox'}
<span class="custom-checkbox">
<input name="{$field.name}" id="{$field.name}" type="checkbox" value="1"
{if $field.value}checked="checked" {/if} {if $field.required}required{/if}>
<span>
{svgic id='done' class='svgic-done'}
</span>
<label for="{$field.name}">{$field.label nofilter}</label>
</span>
{/block}
Wstaw:
{block name='form_field_item_checkbox'}
<span class="custom-checkbox">
<input name="{$field.name}" id="{$field.name}" type="checkbox" value="1"
{if $field.value}checked="checked" {/if} {if $field.required}required{/if}>
<span>
{svgic id='done' class='svgic-done'}
</span>
<label for="{$field.name}">{$field.label|unescape:'html' nofilter}</label>
</span>
{/block}
3. Jak usunąć z tematu maila prestashop nazwę sklepu [PS_SHOP_NAME] i zmienić jego nazwę (wersja 1.7.8.3.)
Jest jeden zabieg który działa w przypadku maili wysyłanych po przez zmianę statusu zamówienia. Po zastosowaniu tego tipu temat maila określany będzie po przez nazwę statusu. Nie zmienisz w ten sposób tematów innych maili jak np. zmiany hasła itp.
A więc, odszukaj plik ./classes/Mail.php i zamień:
$subject = '[' . strip_tags($configuration['PS_SHOP_NAME']) . '] ' . $subject;
na:
$subject = $subject;
4. Jak zmienić szablon/wygląd faktury (wersja 1.7.8.3.)
Odnajdź folder /pdf w katalogu głównym i znajdziesz tam wszelkie pliki .tpl które możesz zmieniać:
*.tpl plik do wykonania faktury: header.tpl, footer.tpl, invoice***.tpl
*.tpl plik do wykonania dostawy: header.tpl, footer.tpl, delivery-slip***.tpl
*.tpl pliki do wykonania zwrotów: header.tpl, footer.tpl, order-return***.tpl
*.tpl pliki do wykonania dostawy: supply-order***.tpl
Witam
jak wykonać tą zmianę z podpunktu 2 w prestashop 1.7.8.8?
Powinno to być na tej samej zasadzie, ale jeszcze nie testowałam.