Právě je 19 dub 2024 00:10

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop 1.6.1.5 - Generace PDF faktur končí na chybě
PříspěvekNapsal: 04 led 2017 22:18 

Registrován:
27 pro 2016 02:11
Příspěvky:
8
Dobrý den,

jsem stále začátečník s Prestou a bohužel jsem zase skončil s chybou, o které nevím co dál.

Prestashop: 1.6.1.5

Při pokusu o generaci faktury se faktura sice vygeneruje, no bohužel na záložce (faktura se otevře v nové záložce prohlížeče), kde se faktura generovala vyskočí místo jejího náhledu následující chyba (projistotu jsem smazal ID webhostingu a doménu):

Kód:
Parse error: syntax error, unexpected '*', expecting function (T_FUNCTION) in /data/web/virtuals/webhosting_ID/virtual/www/domains/domena.eu/classes/pdf/HTMLTemplate.php on line 65


Takto chyba vypadá v prohlížeči:
Obrázek
Navíc faktura mi přijde poškozená, špatně naformátovaná a celkově rozbitá, HTMLTemplate.php je stejně jako ostatní soubory defaultní.

Zde přikládám opět lehce vycenzurovaný náhled faktury:

Obrázek
Poškozeným formátováním myslím hlavně "useknutou" tabulku na spodní straně.

Omlouvám se za tyto případně hloupé dotazy a předem moc děkuji za pomoc.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.5 - Generace PDF fakkur končí na chybě
PříspěvekNapsal: 04 led 2017 22:18 
C4 podpora
Administrátor

Registrován:
23 čer 2009 12:44
Příspěvky:
312
Dobrý den,

jelikož jste nebyl identifikován jako zákazník Webhostingu C4, pro který je diskuzní fórum určeno, Váš dotaz není brán jako prioritní. Pokud bude téma delší dobu bez reakce, dojde k jeho odstranění.

_________________
Webhosting C4
http://www.c4.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.5 - Generace PDF faktur končí na chybě
PříspěvekNapsal: 06 led 2017 12:15 
Uživatelský avatar

Registrován:
03 bře 2011 23:21
Příspěvky:
640
Jak vypadá zdrojový kód toho souboru HTMLTemplate.php? Podle řádku by se dalo usuzovat na příčinu a mohli bychom ho i porovnat s originálem.

_________________
M4 Vše v jednom SEO - snadný a na funkce bohatý SEO plugin
https://www.presta-addons.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.5 - Generace PDF faktur končí na chybě
PříspěvekNapsal: 06 led 2017 13:00 

Registrován:
27 pro 2016 02:11
Příspěvky:
8
Dobrý den,

zdrojový kód vypadá takto, měl by být shodný s originálem:
Kód:
<?php
/**
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author    PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2016 PrestaShop SA
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

/**
* @since 1.5
*/
abstract class HTMLTemplateCore
{
    public $title;
    public $date;
    public $available_in_your_account = true;

    /** @var Smarty */
    public $smarty;

    /** @var Shop */
    public $shop;

    /**
     * Returns the template's HTML header
     *
     * @return string HTML header
     */
    public function getHeader()
    {
        $this->assignCommonHeaderData();

        return $this->smarty->fetch($this->getTemplate('header'));
    }

    /**
     * Returns the template's HTML footer
     *
     * @return string HTML footer
     */
    public function getFooter()
    {
        $shop_address = $this->getShopAddress();

        $id_shop = (int)$this->shop->id;

        $this->smarty->assign(array(
            'available_in_your_account' => $this->available_in_your_account,
            'shop_address' => $shop_address,
            'shop_fax' => Configuration::get('PS_SHOP_FAX', null, null, $id_shop),
            'shop_phone' => Configuration::get('PS_SHOP_PHONE', null, null, $id_shop),
            'shop_email' => Configuration::get('PS_SHOP_EMAIL', null, null, $id_shop),
            'free_text' => Configuration::get('PS_INVOICE_FREE_TEXT', (int)Context::getContext()->language->id, null, $id_shop)
        ));

        return $this->smarty->fetch($this->getTemplate('footer'));
    }

    /**
     * Returns the shop address
     *
     * @return string
     */
    protected function getShopAddress()
    {
        $shop_address = '';

        $shop_address_obj = $this->shop->getAddress();
        if (isset($shop_address_obj) && $shop_address_obj instanceof Address) {
            $shop_address = AddressFormat::generateAddress($shop_address_obj, array(), ' - ', ' ');
        }

        return $shop_address;
    }

    /**
     * Returns the invoice logo
     */
    protected function getLogo()
    {
        $logo = '';

        $id_shop = (int)$this->shop->id;

        if (Configuration::get('PS_LOGO_INVOICE', null, null, $id_shop) != false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO_INVOICE', null, null, $id_shop))) {
            $logo = _PS_IMG_DIR_.Configuration::get('PS_LOGO_INVOICE', null, null, $id_shop);
        } elseif (Configuration::get('PS_LOGO', null, null, $id_shop) != false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO', null, null, $id_shop))) {
            $logo = _PS_IMG_DIR_.Configuration::get('PS_LOGO', null, null, $id_shop);
        }
        return $logo;
    }

    /**
     * Assign common header data to smarty variables
     */

    public function assignCommonHeaderData()
    {
        $this->setShopId();
        $id_shop = (int)$this->shop->id;
        $shop_name = Configuration::get('PS_SHOP_NAME', null, null, $id_shop);

        $path_logo = $this->getLogo();

        $width = 0;
        $height = 0;
        if (!empty($path_logo)) {
            list($width, $height) = getimagesize($path_logo);
        }

        // Limit the height of the logo for the PDF render
        $maximum_height = 100;
        if ($height > $maximum_height) {
            $ratio = $maximum_height / $height;
            $height *= $ratio;
            $width *= $ratio;
        }

        $this->smarty->assign(array(
            'logo_path' => $path_logo,
            'img_ps_dir' => 'http://'.Tools::getMediaServer(_PS_IMG_)._PS_IMG_,
            'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
            'date' => $this->date,
            'title' => $this->title,
            'shop_name' => $shop_name,
            'shop_details' => Configuration::get('PS_SHOP_DETAILS', null, null, (int)$id_shop),
            'width_logo' => $width,
            'height_logo' => $height
        ));
    }

    /**
     * Assign hook data
     *
     * @param ObjectModel $object generally the object used in the constructor
     */
    public function assignHookData($object)
    {
        $template = ucfirst(str_replace('HTMLTemplate', '', get_class($this)));
        $hook_name = 'displayPDF'.$template;

        $this->smarty->assign(array(
            'HOOK_DISPLAY_PDF' => Hook::exec($hook_name, array('object' => $object))
        ));
    }

    /**
     * Returns the template's HTML content
     *
     * @return string HTML content
     */
    abstract public function getContent();


    /**
     * Returns the template filename
     *
     * @return string filename
     */
    abstract public function getFilename();

    /**
     * Returns the template filename when using bulk rendering
     *
     * @return string filename
     */
    abstract public function getBulkFilename();

    /**
     * If the template is not present in the theme directory, it will return the default template
     * in _PS_PDF_DIR_ directory
     *
     * @param $template_name
     *
     * @return string
     */
    protected function getTemplate($template_name)
    {
        $template = false;
        $default_template = rtrim(_PS_PDF_DIR_, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$template_name.'.tpl';
        $overridden_template = _PS_ALL_THEMES_DIR_.$this->shop->getTheme().DIRECTORY_SEPARATOR.'pdf'.DIRECTORY_SEPARATOR.$template_name.'.tpl';
        if (file_exists($overridden_template)) {
            $template = $overridden_template;
        } elseif (file_exists($default_template)) {
            $template = $default_template;
        }

        return $template;
    }


    /**
     * Translation method
     *
     * @param string $string
     *
     * @return string translated text
     */
    protected static function l($string)
    {
        return Translate::getPdfTranslation($string);
    }

    protected function setShopId()
    {
        if (isset($this->order) && Validate::isLoadedObject($this->order)) {
            $id_shop = (int)$this->order->id_shop;
        } else {
            $id_shop = (int)Context::getContext()->shop->id;
        }

        $this->shop = new Shop($id_shop);
        if (Validate::isLoadedObject($this->shop)) {
            Shop::setContext(Shop::CONTEXT_SHOP, (int)$this->shop->id);
        }
    }
}


Jako soubor přikládám celou složku /classes/pdf, kdyby se mi podařilo někde něco omylem změnit. Všechny soubory by měli být originální.


Přílohy:
Poznámka: Celá PDF class.
pdf.zip [20.68 KiB]
145 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.5 - Generace PDF faktur končí na chybě
PříspěvekNapsal: 06 led 2017 13:24 
Uživatelský avatar

Registrován:
03 bře 2011 23:21
Příspěvky:
640
Tak to nevím. Zeptal bych se na hostingu, co to znamená. V tom souboru totiž na uvedeném řádku, ani jinde žádná syntaktická chyba není.

Kromě HTMLTemplateSupplyOrderForm.php, který je upravovaný, jsou všechny soubory originál. I když byly při přenosu na server změněny konce řádků z unix na windows typ, tak to nemá na funkci vliv.

_________________
M4 Vše v jednom SEO - snadný a na funkce bohatý SEO plugin
https://www.presta-addons.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.5 - Generace PDF faktur končí na chybě
PříspěvekNapsal: 06 led 2017 13:35 

Registrován:
27 pro 2016 02:11
Příspěvky:
8
Děkuji za pomoc, budu to teď přesouvat na jiný hosting, tak snad to pomůže, ale ještě před přesunem se zeptám...na druhou stranu uvidíme co WEDOS support, to zas předá technikům a to je tak všechno :D

Každopádně díky.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz