Elxis CMS Forum

Ελληνικό Forum => Γενικά Θέματα για το Elxis CMS => Topic started by: giannismit on October 28, 2011, 14:49:10

Title: Πρόβλημα εκτύπωσης περιεχομένου σε μορφή pdf
Post by: giannismit on October 28, 2011, 14:49:10
Καλησπέρα σε όλους,

Μέσα στο "includes/pdf.hph" στην γραμμή 218 υπάρχει ο κάτωθι κώδικας:
Code: [Select]
if (file_exists('../../../images/logo.png')) {
$header_logo = '../../../images/logo.png';
} else {
$header_logo = PDF_HEADER_LOGO;

με αποτέλεσμα να μην βρίσκει το αρχείο logo.png και να σταματάει η εκτύπωση σε pdf με php error.

αν κάνω την αλλαγή:
Code: [Select]
if (file_exists('../images/logo.png')) {
$header_logo = '../images/logo.png';
} else {
$header_logo = PDF_HEADER_LOGO;
το pdf εκτυπώνεται μια χαρά.
Αυτό γίνεται σε δύο εγκαταστάσεις μια με 2009.2 και η άλλη με 2009.3

Το ερώτημα είναι αν πράγματι είναι λάθος η διαδρομή (αλλά τόσο καιρό δεν το παρατήρησε κανένας?) και αν είναι λάθος γιατί δεν δουλεύει η "else"
Title: Re: Πρόβλημα εκτύπωσης περιεχομένου σε μορφή pdf
Post by: datahell on October 31, 2011, 19:29:00
Το "../../../images/logo.png" δεν δουλεύει καθώς έχει αλλάξει η διαδρομή του tcpdf. Η σωστή τιμή είναι αυτή που υπάρχει στο else "PDF_HEADER_LOGO"
Η τιμή του PDF_HEADER_LOGO είναι "logo.png" (βλέπε includes/tcpdf/config/tcpdf_config.php)

K_PATH_MAIN = $mainframe->getCfg( 'absolute_path' ).SEP;
K_PATH_IMAGES = K_PATH_MAIN."images".SEP;
PDF_HEADER_LOGO = logo.png
path to logo = K_PATH_IMAGES.$header_logo

Αν absolute path = /www/elxis/
Τότε K_PATH_IMAGES = /www/elxis/images/
Και path to logo = /www/elxis/images/logo.png, το οποίο είναι σωστό

Έχεις σβήσει το αρχείο "logo.png" από το folder images;
Title: Re: Πρόβλημα εκτύπωσης περιεχομένου σε μορφή pdf
Post by: giannismit on November 01, 2011, 03:18:40
Όχι Γιάννη δεν το έχω σβήσει, υπάρχει το logo.png μέσα στο /images, γι' αυτό και όταν έκανα την διαδρομή ../images/logo.png έπαιξε κανονικά.

Νομίζω ότι κατάλαβα αυτά που είπες.

Αυτό που δεν έχω καταλάβει είναι το εξής:
Code: [Select]
else {
$header_logo = PDF_HEADER_LOGO; //δηλαδή ="logo.png"  άρα στο else θα ψάχνει για το αρχείο logo.png μέσα στο /includes
ή τα έχω κάνει σαλάτα στο μυαλό μου?

Δηλαδή όπως είναι ο κώδικας:
Code: [Select]
if (file_exists('../images/logo.png')) {
$header_logo = '../images/logo.png';
} else {
$header_logo = PDF_HEADER_LOGO;
Εννοεί ότι αν βρει το αρχείο logo.png  μέσα στο images τότε η μεταβλητή $header_logo παίρνει την τιμή "../images/logo.png" αλλιώς παίρνει την τιμή "logo.png"



Title: Re: Πρόβλημα εκτύπωσης περιεχομένου σε μορφή pdf
Post by: datahell on November 01, 2011, 20:08:42
Πρέπει να δω το σύστημα αρχείων σου για να πω περισσότερα. Εφόσον σου δουλεύει, άστο έτσι, το ζητούμενο είναι να βρει κάπου το λογότυπο και το βρήκε.