Jump to content
  • 0

Błędy FrontController.php, Tools.php, tdajaxserach.php


smithek

Question

Po zmianie serwera występuje tylko jeden błąd. O nim w drugim poście.

Witam. Znajomy kupił szablon i chciał oczywiście żeby mu pomóc go wrzucić. Szablon pod PrestaShop 1.5 taka też wersja jest zainstalowana na serwerze. Po instalacji wrzuciłem szablon w sposób podany w dokumentacji czyli przez moduł o nazwie "Import/export a theme". Wszystko przebiegło pomyślnie, panel administratora działa poprawnie. Problem pojawił się podczas próby wejścia na stronę. Początkowo biała strona więc rozwiązałem ten problem i oczywiście las błędów. Na standardowym szablonie dzieje się to samo. 

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/controller/FrontController.php on line 764

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 553

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 553

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 553

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 553

Fatal error: Call to undefined method Media::addJsDef() in /home/modules/tdajaxserach/tdajaxserach.php on line 47

Poprzez kombinacje zmieniłem nazwę folderu dotyczącego błędu tdajaxserch.php. Strona się odpaliła jednak nie wygląda jak powinna linijka 47 wygląda tak: 

	public function hookTop($params)
	{
		$key = $this->getCacheId('blocksearch-top');
		if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $key))
		{
			$this->calculHookCommon($params);
			$this->smarty->assign(array(
				'blocksearch_type' => 'top',
				'search_query' => (string)Tools::getValue('search_query')
				)
			);    
		}
		Media::addJsDef(array('blocksearch_type' => 'top'));
		return $this->display(__FILE__, 'tdajaxsearch_top.tpl', Tools::getValue('search_query') ? null : $key);
	}
 

FrontController.php:

$this->context->smarty->assign(array(
			'time' => time(),
			'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
			'static_token' => Tools::getToken(false),
			'token' => Tools::getToken(),
			'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
			'content_only' => (int)Tools::getValue('content_only'),
		)); 

Tools.php:

elseif (is_object($currency))
		{
			$c_char = $currency->sign;
			$c_format = $currency->format;
			$c_decimals = (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_;
			$c_blank = $currency->blank;
		}
		else
			return false; 

Wcześniej przez nieuwagę zainstalowałem ten szablon na najnowszym oprogramowaniu PrestaShop i otrzymałem troszkę mniej błędów. Przy czym na standardowym szablonie wszystko działało bez problemów. I przez kliknięcie "Mój Sklep" w PA strona ładuję się poprawnie tyle, że ze śmiesznym adresem dopisek.

adres-sklepu.pl/?live_configurator_token=ac034564315ae6d7b5e4839e5bd4aeca&id_employee=1&id_shop=1 

Natomiast błędy przy wchodzeniu na stronę poprzez link to: 

Fatal error: Uncaught --> Smarty: Missing template name <-- thrown in /home/tools/smarty/sysplugins/smarty_internal_template.php on line 678

smarty_internal_template.php:

   public function __get($property_name)
    {
        switch ($property_name) {
            case 'source':
                if (strlen($this->template_resource) == 0) {
                    throw new SmartyException('Missing template name');
                } 

W tym wypadku wywnioskowałem, że to przez niekompatybilność szablonu z oprogramowaniem jednak mogę się mylić bo dziwi mnie trochę, że ten podgląd pod tym śmiesznym linkiem działa jak należy. I dopiero po kliknięciu w jakiś link np. opcję menu przekierowuje na poprawny link strony i wyświetla błędy.

 

W wersji 1.5 posiadam również błędy, które wyświetlają się w panelu admina i po zamianie nazwy tdajaxserch na stronie sklepu. Wydaje mi się, że mogą one dotyczyć pamięci Cache lub Przepisywania URL. Ponieważ przy sprawdzaniu konfiguracji w PA jest przy tych 2 opcjach czerwony krzyżyk. 

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 553

Notice: Use of undefined constant _PS_PRICE_DISPLAY_PRECISION_ - assumed '_PS_PRICE_DISPLAY_PRECISION_' in /home/classes/Tools.php on line 546 

Z góry dziękuję za pomoc :)

 

Edited by smithek (see edit history)
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Możliwe, że tak. Czy wszystko jest ok ? Może za dużo powiedziane. Po prostu wtedu uruchamia się strona i coś widzimy. Niektóre elementy na siebie nachodzą, brakuje slidera coś by się jeszcze znalazło ale nie mam teraz dostępu do komputera. Chce spróbować jeszcze na innym serwerze bo kurde bez przesady, że goły system z jednym szablonem od razu sypie błędami na lewo i prawo.

Fatal error: Call to undefined method Media::addJsDef() in /home/emgraf1/public_html/modules/tdajaxserach/tdajaxserach.php on line 47

Cały plik:

<?php
if (!defined('_PS_VERSION_'))
	exit;

class TDajaxSerach extends Module
{
	public function __construct()
	{
		$this->name = 'tdajaxserach';
		$this->tab = 'search_filter';
		$this->version = 1.3;
		$this->author = 'ThemesDeveloper';
		$this->need_instance = 0;

		parent::__construct();

		$this->displayName = $this->l('ThemesDeveloper Quick Ajax Product Search');
		$this->description = $this->l('Adds a quick search field to your website.');
		$this->ps_versions_compliancy = array('min' => '1.5', 'max' => _PS_VERSION_);
	}

	public function install()
	{
		if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('header'))
			return false;
		return true;
	}
	
	public function hookHeader($params)
	{
		if (Configuration::get('PS_SEARCH_AJAX'))
			$this->context->controller->addJqueryPlugin('autocomplete');
	}

	public function hookTop($params)
	{
		$key = $this->getCacheId('blocksearch-top');
		if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $key))
		{
			$this->calculHookCommon($params);
			$this->smarty->assign(array(
				'blocksearch_type' => 'top',
				'search_query' => (string)Tools::getValue('search_query')
				)
			);    
		}
		Media::addJsDef(array('blocksearch_type' => 'top'));
		return $this->display(__FILE__, 'tdajaxsearch_top.tpl', Tools::getValue('search_query') ? null : $key);
	}

	private function calculHookCommon($params)
	{
		$this->smarty->assign(array(
			 'ENT_QUOTES' => ENT_QUOTES,
                         'search_ssl' => Tools::usingSecureMode(),
                         'ajaxsearch' => Configuration::get('PS_SEARCH_AJAX'),
                         'instantsearch' => Configuration::get('PS_INSTANT_SEARCH'),
                         'self' => dirname(__FILE__),
                         'pbaseurl' => _PS_BASE_URL_ . _THEME_PROD_DIR_,
                         'tdajaxsearchmod' => __PS_BASE_URI__ . 'modules/tdajaxserach/tdajaxserachAjax.php'
		));

		return true;
	}
}

Edited by smithek (see edit history)
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...