Часто задаваемые вопросы

Часто задаваемые вопросы

Как поставить счетчик, баннер, скрипт

В themes/prestashop/footer.tpl добавляем

{literal}Код счетчика/баннера{/literal}

Как добавить или удалить поля в форме регистрации

Вариант 1

В /classes/Address.php из удалить ненужные параметры из строки:

protected	$fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city');

В /themes/prestashop/authentication.tpl удалить ненужные поля

Вариант 2

В /themes/prestashop/authentication.tpl поставить скрытые поля с данными по умолчанию: Например для скрытия города вместо:

<input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" />

ставим

<input type="hidden" name="city" value="Moskow" />

Как обойти некоторые шаги при оформлении заказа

Для версии 1.2.x

В order.php в нужном месте ставим редирект

Tools::redirect('modules/cashondelivery/validation.php');

Например чтобы пропустить все, начиная с выбора адреса используем такой фикс:

/* 4 steps to the order */
    switch (intval($step))
    {
        case 1:
            displayAddress();
//fix 
            Tools::redirect('modules/cashondelivery/validation.php');
//fix 
            break;
        case 2:
            if(Tools::isSubmit('processAddress'))
                processAddress();
            autoStep(2);
            displayCarrier();
            break;
        case 3:
            if(Tools::isSubmit('processCarrier'))
                processCarrier();
            autoStep(3);
            checkFreeOrder();
            displayPayment();
            break;
        default:
            $smarty->assign('errors', $errors);
            displaySummary();
            break;
    }

Как добавить популярные товары на главную

Нужно добавить его в категорию «Главная»

Как удалить названия магазина из title

В classes/Tools.php в функции completeMetaTags удалить

.' - '.Configuration::get('PS_SHOP_NAME')

Как увеличить количество букв в названии, кратком описании товара

В соответствующем файле шаблона увеличить число после truncate

{$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}
  • Для списка товаров в категории - файл /themes/prestashop/product-list.tpl
  • Для популярных товаров - файл /trunk/modules/homefeatured/homefeatured.tpl
  • Для корзины - файлы /modules/blockcart/blockcart.tpl, /modules/blockcart/blockcart-json.tpl. Дополнительно изменить длину в /modules/blockcart/ajax-cart.js
var name = (this.name.length > 12 ? this.name.substring(0, 10) + '...' : this.name);

Как изменить порядок отображения категорий

Перед названием категории пишем ее порядковый номер. При показе категорий он отображаться не будет.

1.Категория 1
2.Категория 2

Как удалить заказ в админке

В /admin/tabs/AdminOrders.php После

$this->colorOnBackground = true;

Добавить

$this->delete = true;

После этого рядом с заказом появится кнопка «удалить»

Как избавиться от надписи "работает на prestashop от prestashop.ru"

В /modules/blockvariouslinks/blockvariouslinks.tpl Удалить

<li class="item">{l s='Powered by' mod='blockvariouslinks'} <a href="http://www.prestashop.com">PrestaShop</a>&trade; 
от <a href="http://www.prestadev.ru/" target="_blank" title="Русская поддержка интернет-магазина PrestaShop">prestadev.ru</a> </li>

Как добавить поддержку HTML в описание товара

В classes/Category.php заменить функцию getTranslationsFieldsChild

public function getTranslationsFieldsChild()
    {
        parent::validateFieldsLang();
 
        $fieldsArray = array('name', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description');
        $fields = array();
        $languages = Language::getLanguages();
        $defaultLanguage = Configuration::get('PS_LANG_DEFAULT');
        foreach ($languages as $language)
        {
            $fields[$language['id_lang']]['id_lang'] = $language['id_lang'];
            $fields[$language['id_lang']][$this->identifier] = intval($this->id);
            $fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? pSQL($this->description[$language['id_lang']], true) : '';
            foreach ($fieldsArray as $field)
            {
                if (!Validate::isTableOrIdentifier($field))
                    die(Tools::displayError());
 
                /* Check fields validity */
                if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']]))
                    $fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']]);
                elseif (in_array($field, $this->fieldsRequiredLang))
                    $fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]);
                else
                    $fields[$language['id_lang']][$field] = '';
            }
        }
        return $fields;
 
    } 

Дополнительно можно добавить визуальный редактор. В /admin/tabs/AdminCategories.php заменяем

<div class="lang_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $this->_defaultFormLanguage ? 'block' : 'none').'; float: left;">
						<textarea name="description_'.$language['id_lang'].'" rows="5" cols="40">'.htmlentities($this->getFieldValue($obj, 'description', intval($language['id_lang'])), ENT_COMPAT, 'UTF-8').'</textarea>
					</div>';

На

<div class="lang_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $this->_defaultFormLanguage ? 'block' : 'none').'; float: left;">
						<textarea   class="rte" name="description_'.$language['id_lang'].'" rows="5" cols="40">'.htmlentities($this->getFieldValue($obj, 'description', intval($language['id_lang'])), ENT_COMPAT, 'UTF-8').'</textarea>
					</div>
		// TinyMCE
		global $cookie;
		$iso = Language::getIsoById(intval($cookie->id_lang));
		echo '
		<script type="text/javascript" src="'.__PS_BASE_URI__.'js/tinymce/jscripts/tiny_mce/jquery.tinymce.js"></script>
		<script type="text/javascript">
		function tinyMCEInit(element)
		{
			$().ready(function() {
				$(element).tinymce({
					// Location of TinyMCE script
					script_url : \''.__PS_BASE_URI__.'js/tinymce/jscripts/tiny_mce/tiny_mce.js\',
					// General options
					theme : "advanced",
					plugins : "safari,pagebreak,style,layer,table,advimage,advlink,inlinepopups,media,searchreplace,contextmenu,paste,directionality,fullscreen",
					// Theme options
					theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
					theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,,|,forecolor,backcolor",
					theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,|,ltr,rtl,|,fullscreen",
					theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,pagebreak",
					theme_advanced_toolbar_location : "top",
					theme_advanced_toolbar_align : "left",
					theme_advanced_statusbar_location : "bottom",
					theme_advanced_resizing : false,
					content_css : "'.__PS_BASE_URI__.'themes/'._THEME_NAME_.'/css/global.css",
					document_base_url : "'.__PS_BASE_URI__.'",
					width: "582",
					height: "auto",
					font_size_style_values : "8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt",
					// Drop lists for link/image/media/template dialogs
					template_external_list_url : "lists/template_list.js",
					external_link_list_url : "lists/link_list.js",
					external_image_list_url : "lists/image_list.js",
					media_external_list_url : "lists/media_list.js",
					elements : "nourlconvert",
					convert_urls : false,
					language : "'.(file_exists(_PS_ROOT_DIR_.'/js/tinymce/jscripts/tiny_mce/langs/'.$iso.'.js') ? $iso : 'en').'"
				});
			});
		}
		tinyMCEInit(\'textarea.rte\');
		</script>
		';

Как перенести папку img на другой хост

В /classes/Link.php заменить функцию getImageLink на:

public function getImageLink($name, $ids, $type = null)
{
return ($this->allow == 1) ? ('newhost.ru/'.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg') : ('newhost.ru/img/p/'.$ids.($type ? '-'.$type : '').'.jpg');
}

Как увеличить качество изображений

В images.inc.php найти код:

imagejpeg($newImage, _PS_TMP_IMG_DIR_.$cacheImage, 86);

И заменить 86 на 100.

Обсуждение

Saerty, 2011/07/12 19:14

Дополнительно можно добавить визуальный редактор. В /admin/tabs/AdminCategories.php заменяем на

<script type=«text/javascript» src=»'.PS_BASE_URI.'js/tinymce/jscripts/tiny_mce/jquery.tinymce.js»></script>

Вот эта строчка в erroe_log почемуто пишет что она нерабочая

Олег, 2011/11/03 19:44

Как настроить сайт так, чтобы он генерировал ссылки в меню, на страницах, а также на подключаемые картинки, скрипты JavaScript и другие элементы страницы с префиксом https: вместо http:

Ром, 2011/12/08 20:17

Очень важный вопрос для многих - как сменить id товара с цифрового на ,например, артикул? Простой пример: я загрузил на сайт допустим тысячу товаров с описаниями и ценами. И вот через неделю цены на рынке поменялись- как теперь мне обновить цены в каталоге? Если бы ID был привязан к артикулу, то легко,-есть товар и цены-грузишь csv и не паришься.

Но что делать с номерами id?( ведь если мне нужно обновить триста товаров из тысячи-откуда я узнаю номер каждого на сервере?( Как в Престе не могли продумать такой основной момент работы?..если так и должно быть-то система бредовая.

Игорь, 2011/12/13 15:14

Я сразу ID назвал номером артикула, благо у меня в нем нет букв.

Александр, 2012/09/16 00:38

Игорь, при импорте я понимаю можно ID товара задать как артикул, а если я добавляю товар из админки, то номер ID дается порядковый. Как назначить номер ID товара в ручную в админке?

макс, 2012/01/06 15:37

привет а Как обойти некоторые шаги при оформлении заказа на 1.4 как сделать?

Saerty, 2012/01/10 14:24

Как добавить или удалить поля в форме регистрации Вариант 2 работает для 1.4. Также можно поставить редирект. Добавив соответствующий класс или контролер в папку override. На престадев обсуждалось.

Vahe, 2012/02/11 21:25

ребят хочу что бы при выборе способ оплаты Наложанный платеж (Или допустим другой вид доставки которое надо)олайн оплата пропустилась! Как сделать!??? Спасибо заранее! 8-)

7KLHES6V, 2012/02/25 03:42

Может не совсем верно понял, но логика такая: Ставите несколько типов оплаты, среди которых есть «Оплата при получении» (то бишь наложенный платеж). Ее выбирают, и все ок)

Aleksandr, 2012/04/04 20:07

куда закачивать эл товар: 1. После галки «Электронный товар» 2. загрузки или достаточно в одно из этих мест или в оба?

Mish Ov , 2012/06/25 15:44

по поводу поддержки html в категории, сделал, редактирую текс- все работает..но вот проблемка: когда наводишь мышью на категорию, всплывает окно со всем html мусором.. Как вообще удалить всплывающее окно?

RoooM, 2012/07/30 02:28

Как избавиться от надписи «работает на prestashop от prestashop.ru» В преста 1.4 директории/modules/blockvariouslinks/blockvariouslinks.tpl НЕТ!!! НУЖНО в Панель Управления > Modules СMS блок — Information Снять галочкуDisplay «Powered by Prestashop»

kostik, 2012/08/14 13:31

Как увеличить размер поля meta title?

Webdiver, 2012/09/04 15:33

Здравствуйте, вопрос по поводу PrestaShop 1.4.9, а именно по поводу покупки гостем. Заполнил все обязательные поля значением в order-opc-new-account.tpl, но сначала не скрывал, добился покупки только по номеру телефона… все хорошо! Но только делаю input'ы type=«hidden» или style=«display:none;» все требует ввести обязательные поля, хотя смотрел FireBug'ом value заполнены? Как заставить игнорировать видимость полей? Или есть другой способ решения этой проблемы? Выше версии 1.4.7 Address.php уже не помогает! и там нет email, если что-то не так исправьте)) (перекомпиляция включена)

webdiver, 2012/09/04 16:56

Нашел решение сам) После того как в input вставили значения применили к их родителям style=«display:none;» находим файл тема/js/order-opc.js находими Раздел RESET ERROR(S) MESSAGE(S) примерно 522 строка и в строках: $('#opc_account_form select:visible').each(function() $('#opc_account_form input:visible').each(function() удаляем :visible если что то не получается стучите protas.boxСАБАКАmailru

Бауржан, 2012/09/15 22:04

хотел обойти некоторые шаги при заявке, в order.php поставил «Tools::redirect('modules/cashondelivery/validation.php');» в нужном месте, но после этого при нажатии кнопки «оформить» выдает проблему с сертификатом соответствия, а также остается на той же странице, как сделать так чтоб при оформлении я попадал на последниий шаг оформления?

Dulco, 2012/09/29 08:33

Подскажите пожалуйста, как модуль можно привязать к одному товару по ID. Из известных мне подобных модулей знаю только модуль добавления видео к товару, но там слишком сложный для меня код и разобраться не могу.

Алексей, 2012/10/11 16:31

А как в prestashop 1.5 удалять заказы?

Alex, 2014/01/05 15:58

Удаляю заказы «демо», которые не удаляются через «бэк-офис» следующим образом: 1. Набираю в строке браузера localhost (это если локальный вариант сайта отрабатывается) захожу в Mysql, - выбираю в левой колонке нужную базу данных, например prestashop, - выбираю таблицу ps_orders 2. Справа появляется верхняя и нижняя таблицы значений, нам нужна нижняя, использую к ней команду «Очистить», соглашаюсь, что уверен и после выполнения заказов больше нет…

Применял этот вариант в случае «локального сервера» на своем компьютере, скрипт магазина prestashop 1.5.6.1

Русский, 2012/10/14 18:42

По престе 1.5 как удалять заказы?

PrestaVoidger, 2012/10/22 18:43

Подискажите пожалуйста как сделать что бы после окончания заказа было вот так. http://prestashop-uroki.ru/wp-content/uploads/2012/08/91.png

Мой скайп: Bureve71 Заранее спасибо.

Fktrctq, 2012/10/27 04:25

Когда человек переходит в корзину у него на всех страницах один заголовок (название магазина). МОжно ли сделать так, чтобы отображались шаги заказа? (Корзина, выбор доставки итп)

KOZMO, 2012/11/01 13:19

Доброе время суток! После удаления в левой части блока «информация» в админке в разделе модули выводит такую ошибку «Warning: include(/var/www/atlantida/atlantida.in.ua/classes/../../init.php) [function.include]: failed to open stream: No such file or directory in /var/www/atlantida/atlantida.in.ua/classes/Module.php(551) : eval()'d code on line 32

Warning: include() [function.include]: Failed opening '/var/www/atlantida/atlantida.in.ua/classes/../../init.php' for inclusion (include_path='./:/') in /var/www/atlantida/atlantida.in.ua/classes/Module.php(551) : eval()'d code on line 32

Fatal error: Uncaught exception 'SmartyException' with message 'unknown method 'clear_compiled_tpl'' in /var/www/atlantida/atlantida.in.ua/tools/smarty/sysplugins/smarty_internal_wrapper.php:117 Stack trace: #0 /var/www/atlantida/atlantida.in.ua/tools/smarty/Smarty.class.php(766): Smarty_Internal_Wrapper→convert('clear_compiled_…', Array) #1 [internal function]: Smarty→__call('clear_compiled_…', Array) #2 /var/www/atlantida/atlantida.in.ua/classes/Module.php(551) : eval()'d code(41): Smarty→clear_compiled_tpl() #3 /var/www/atlantida/atlantida.in.ua/classes/Module.php(553): CoreManager→CoreManager() #4 /var/www/atlantida/atlantida.in.ua/admin-sport/tabs/AdminModules.php(439): ModuleCore::getModulesOnDisk(true) #5 /var/www/atlantida/atlantida.in.ua/admin-sport/tabs/AdminModules.php(312): AdminModules→displayList() #6 /var/www/atlantida/atlantida.in.ua/admin-sport/index.php(109): AdminModules→display() #7 {main} thrown in /var/www/atlantida/atlantida.in.ua/tools/smarty/sysplugins/smarty_internal_wrapper.php on line 117»

В чём может быть проблема?! За ранее благодарен за внимание)))

ali, 2012/11/08 22:29

Очень очень очень очень редко встретишь толковый и максимально действенный топик о решении проблем с cms. Огромное спасибо.

Lev, 2013/01/19 02:55

Ни-о-чем. Нормальный разработчик и сам разберется в этом.

Rodrigez, 2013/02/11 04:05

Подскажите а как изменить валюту в 2.5.9 ? все облазил но так и не нашел.

lezvika, 2013/04/12 16:28

Помогите чайнику, пожалуйста! Описание категорий выводится между тегами <p> Версия престы 1.4.9 отсюда, шаблон вот этот http://prestaplayers.com/en/free-prestashop-themes/9-matrice-theme-prestashop.html

kupitonline, 2013/04/18 12:14

Люди, всем привет. Вопрос: Как изменить заказ в админке? Вот человек заказ сделал, оказалось что товара нет в наличии. Ну, предложил другое, она согласилась. Как в ее заказе изменить наименование товара, поставить другой товар? Это вообще технически возможно без удаления текущего заказа и оформления нового?

Олег, 2013/04/18 17:30

При помощи модуля «Редактор заказов»

Дмитрий, 2014/03/25 00:50

А где этот модуль взять? в админке нет на сайте с модулями тоже не нашел

Тарас, 2013/04/20 18:30

Ребята, подскажите, каким образом можно добавить товар в заказные позиции? Т.е. чтобы отображало цену, но где-нибудь была видимая надпись что позиция отсутствует на складе, и требуется ждать (1-7 дней). Насколько понимаю такой функционал предоставляется в описании товара: Уровень доступности → Товар в наличии (текстовое поле в котором можно было бы указать какие условия поставки). Вписываю туда, но почему-то не выводится. Нехватает времени расковыривать весь PHP-код для этого. :(

Ну и раз уже задал вопрос, то еще один момент спрошу, можно ли каким-то образом (может каким-то модулем, пусть и платным) сделать ограничение установки «Свойств» для категории-подкатегории товаров? А то у меня примерно несколько сотен свойств, и смотрится это несколько ужасненько.

Заранее Благодарен за ответы.

Тарас, 2013/04/20 18:54

Дьявол… Сам спросил - сам ответил, на первый вопрос: Так чтобы если кто-то столкнется: Если такая же возможность потребуется (с учетом что у вас подключено расширенное управление складом), то на складе должно быть ОБЯЗАТЕЛЬНО указано наличие хотя бы 1 единицы товара, чтобы оно отображало текст наличия… Аддд… но впрочем, работает, а это главное… :)

Второй вопрос все еще актуален.

RoooM, 2013/05/06 23:32

В файле Adress.php я оставляю только имя и фамилию protected $fieldsRequired = array('lastname', 'firstname'); А вот в шаблоне регистрации display и type hidden - исключают параметр из участия в формировании страницы, а Страна - обязательный параметр, поэтому и ошибки прут. В админке ставьте вашу страну по умолчанию, в файле order-opc-new-account.tpl пишите в поле страны <p class=«required select» style=«visibility:hidden»> тогда поля визуально нет, но оно работает. Удачи

Александр, 2013/06/09 22:33

как сделать так, что бы хлебные крошки брались не из title, а из keywords? мешает SEO!

Ештыганов Сергей Владимирович, 2013/09/06 11:55

Подскажите, пожалуйста, у меня все товары измеряются в штуках, и провода тоже, как изменять единицы измерения для конкретных товаров? Спасибо.

Виталик, 2013/09/30 19:46

Спасибо большое!!! Создатели сайта - здоровья вам!!!!!!

Ольга, 2013/10/07 00:12

Добрый вечер. Возможно ли сделать отображение товаров в категориях не в три столбца а в четыре? Существует для этого какой-то модуль? Или как это проще можно сделать?

Сан Саныч, 2013/10/11 07:25

Всем доброго утра. В таблице заказов хочу изменить столбец «Оплата» на «Мобильный телефон» Изменял AdminOrders.php строка 'payment' ⇒ array('title' ⇒ $this→l('Payment'), 'width' ⇒ 100), на 'phone_mobile' ⇒ array('title' ⇒ $this→l('Mobile phone'), 'width' ⇒ 105),

Результат: –

Помогите решить задачу. Версия 1.3.1.1

ikamij, 2013/10/15 22:47

при загрузки cvs меняется id товара. Как сделать чтобы id был тот что я пишу

Doc Steward, 2013/10/18 18:01

Добрый день! Подскажите, как сделать в карточке товара так, чтобы поле выпадающего списка атрибута отображало по-умолчанию «выберите» (например размер), а выпадающий список второго атрибута (цвет) появлялось только после выбора в первом. Очень надо!

Олег, 2013/10/19 15:10

Подскажите пожалуйста, в каких файлах поменять информацию о компании и доставке, которая открывается по ссылкам в левой колонке Block CMS.

Иван, 2014/02/18 12:14

Добрый день! В версии 1.5.6.2 метод удаления названия магазина из title не работает. Есть какие-нибудь новые подходы?

John, 2014/11/01 22:52

надо искать в файле Meta.php. там это убирается спокойно.

Иван, 2014/02/18 12:19

Кстати. Так же невозможно применить описанный здесь способ удаления надписи «работает на prestashop». Нет в новой версии такой папки…

Юрий, 2014/05/09 20:34

Всем доброго времени суток. Уважаемые знатоки у меня вопрос в следующем, у меня стоит движок prestashop1.4.4 установил новый шаблон, в шаблоне на главной странице стоит слайдер - Как можно его заменить на свой баннер? И как сделать так что бы он отображался на всех страницах магазина?

John, 2014/11/01 22:54

Как сделать сортировку в блоке категорий? Presta 1.5.6.2

Stepan, 2015/03/30 05:09

Добрый день. Почему-то временами не отображаются категории в админ панеле. Вообше. Ни при просмотре раздела категорий, ни при добавлении товаров. Т.е. на сайте эти категории просматриваются, а в админке нет. Кто знает в чем причина?

Igor, 2015/09/16 16:07

Добрый день в Prestashop 1.6.1 необходимо заменить слово «Войти» на иконку в блоке регистрации пользователя

Marishka, 2015/09/23 20:20

Доброго времени суток! пытаюсь разобраться с данным движком. Проблема возникла такая - на главной странице были категории (одна из них Женщинам), в которых были подкатегории. Одна подкатегория (Топики) повторялась 2 раза. я ее удалила. теперь не могу попасть на страницу подкатегории Топики, которую не удалила. хотя ранее добавленные товары в нее уже перенесла. при попытке перехода в данную подкатегорию в адресной строке пишет …/page-not-found и отображается на странице, что ничего не найдено (это при переходе в данную подкатегорию с главной страницы). но если я сначала проваливаюсь в категорию Женщины, а затем уже в подкатегорию Топики, то товары отображаются. по всей видимости с главной страницы неверно ссылка вписана. где ее можно поменять в коде или может есть другие способы решения? Подскажите, пожалуйста)

Marishka, 2015/09/23 20:20

Доброго времени суток! пытаюсь разобраться с данным движком. Проблема возникла такая - на главной странице были категории (одна из них Женщинам), в которых были подкатегории. Одна подкатегория (Топики) повторялась 2 раза. я ее удалила. теперь не могу попасть на страницу подкатегории Топики, которую не удалила. хотя ранее добавленные товары в нее уже перенесла. при попытке перехода в данную подкатегорию в адресной строке пишет …/page-not-found и отображается на странице, что ничего не найдено (это при переходе в данную подкатегорию с главной страницы). но если я сначала проваливаюсь в категорию Женщины, а затем уже в подкатегорию Топики, то товары отображаются. по всей видимости с главной страницы неверно ссылка вписана. где ее можно поменять в коде или может есть другие способы решения? Подскажите, пожалуйста)

Ваш комментарий. вики-синтаксис разрешён:
FGJAQ
 
faq.txt · Последние изменения: 2015/12/27 16:22 (внешнее изменение)