gouz13 Posted September 29, 2014 Share Posted September 29, 2014 Καλησπέρα παιδιά.Στα νέα προιόντα μου σε μερικά από αυτά η περιγραφή εμφανίζεται ολόκληρη σε άλλα κόβεται.....Τι μπορεί να φταίει? Link to comment Share on other sites More sharing options...
parsifal Posted September 29, 2014 Share Posted September 29, 2014 Τα πεδία που συνήθως «κόβονται» από ένα όριο χαρακτήρων και πάνω είναι τα "Name" και "Short Description". Το "Description" δε θα πρέπει κανονικά να κόβεται. Είσαι σίγουρος ότι εννοείς το τελευταίο και όχι ένα από τα δύο πρώτα...; Link to comment Share on other sites More sharing options...
gouz13 Posted September 29, 2014 Author Share Posted September 29, 2014 Δεν το διατύπωσα σωστά εγώ.Ναι το όνομα κόβεται... Link to comment Share on other sites More sharing options...
gouz13 Posted September 29, 2014 Author Share Posted September 29, 2014 Γιατί όμως άλλα κόβονται και άλλα όχι αφού όλα εγώ τα έφτιαξα Link to comment Share on other sites More sharing options...
parsifal Posted September 29, 2014 Share Posted September 29, 2014 Αν πας να κάνεις edit το προϊόν, θα δεις ότι το πεδίο "Name" είναι ολόκληρο όπως το εισήγαγες αρχικά. Απλά το theme που χρησιμοποιείς έχει μέσα στον κώδικά του έναν περιορισμό στο μέγιστο αριθμό χαρακτήρων που προβάλλει στους τίτλους προϊόντων. Δηλαδή το κόψιμο γίνεται μόνο στην προβολή των πολύ μακροσκελών τίτλων, όχι στην καταχώρηση του προϊόντος. Τώρα, γιατί άλλα κόβονται κι άλλα όχι; Για μέτρα στους πόσους χαρακτήρες σου κόβει τίτλους και σύγκρινε με τον αριθμό χαρακτήρων που έχουν αυτά που δεν κόβονται. Θα καταλάβεις... Link to comment Share on other sites More sharing options...
gouz13 Posted September 29, 2014 Author Share Posted September 29, 2014 Δεν βγάζω άκρη άλλα τα κόβει στους 4 χαρακτήρες άλλα στους 7 και άλλα είναι κανονικά Link to comment Share on other sites More sharing options...
parsifal Posted September 29, 2014 Share Posted September 29, 2014 Α, για τόσο λίγους χαρακτήρες μιλας; Κάποιο πρόβλημα υπάρχει τότε. Χρησιμοποιείς κανέναν περίεργο χαρακτήρα μέσα στον τίτλο; Π.χ. άνω-κάτω τελεία ή απόστροφο; Δες λίγο, σε αυτά που κόβονται, ο πρώτος χαρακτήρας που κόπηκε ποιος είναι; Link to comment Share on other sites More sharing options...
gouz13 Posted September 30, 2014 Author Share Posted September 30, 2014 Citroen C2 '04... (to kovei) Citroen C1 '06 998cc (den to kovei) Link to comment Share on other sites More sharing options...
gouz13 Posted September 30, 2014 Author Share Posted September 30, 2014 Δεν υπάρχει τρόπος από τον κώδικα να μεγαλώσω την γραμμ/ρά? Link to comment Share on other sites More sharing options...
gouz13 Posted September 30, 2014 Author Share Posted September 30, 2014 Παρατήρησα ότι τα ελληνικά κόβει τόσο πολύ. Link to comment Share on other sites More sharing options...
parsifal Posted September 30, 2014 Share Posted September 30, 2014 (edited) Εννοείς στην προβολή κατηγορίας/λίστας, σωστά; Π.χ. εδώ: http://www.oikano-carparts.gr/index.php?id_category=91&controller=category&n=10&p=2 Συνήθως είναι περιορισμός του theme. Π.χ. αν δεις το αρχείο product-list.tpl του default Bootstrap theme του PrestaShop 1.6, γίνεται χρήση της Smarty συνάρτησης truncate για να κρατιούνται μόνο οι 45 πρώτοι χαρακτήρες: <h5 itemprop="name"> {if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if} <a class="product-name" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url" > {$product.name|truncate:45:'...'|escape:'html':'UTF-8'} </a> </h5> Αλλά εσένα το θέμα σου (το οποίο δεν φαίνεται να είναι το default, αλλά κάποιο τρίτο θέμα βασισμένο στο default) στα κόβει με κάποιο άλλο κριτήριο. Κάπου μέσα στο αρχείο σου /themes/theme771/product-list.tpl γίνεται η δουλειά. Μπορείς να ρωτήσεις αυτόν που σου έστησε το site ή να ανεβάσεις εδώ τα περιεχόμενα του αρχείου αυτού, για να το τσεκάρουμε. Edited September 30, 2014 by parsifal (see edit history) Link to comment Share on other sites More sharing options...
gouz13 Posted September 30, 2014 Author Share Posted September 30, 2014 {if isset($products)} <!-- Products list --> {assign var='nbItemsPerLine' value=3} {assign var='nbLi' value=$products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} <ul id="product_list" class="grid row"> {foreach from=$products item=product name=products} {math equation="(total%perLine)" total=$smarty.foreach.products.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product span3 num-{$smarty.foreach.products.iteration}{if $smarty.foreach.products.iteration%$nbItemsPerLine == 0} omega{elseif $smarty.foreach.products.iteration%$nbItemsPerLine == 1} alpha{/if} {if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModulo)}last_line{/if}"> <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"> <img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" /> </a> <div class="center_block"> <div class="product_flags clearfix"> {if isset($product.new) && $product.new == 1}<span class="new title_shop">{l s='New'}!</span>{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)} <span class="availability title_shop">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'} {elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if} {if isset($product.online_only) && $product.online_only}<span class="online_only title_shop">{l s='Online only'}</span>{/if} {/if} </div> <div class="clear"></div> <h5><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|escape:'htmlall':'UTF-8'|truncate:25:'...'}</a></h5> <p class="product_desc">{$product.description_short|strip_tags:'UTF-8'|truncate:450:'...'}</p> <p class="product_desc mob">{$product.description_short|strip_tags:'UTF-8'|truncate:90:'...'}</p> <p class="product_desc mob2">{$product.description_short|strip_tags:'UTF-8'|truncate:180:'...'}</p> </div> <div class="right_block"> {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale title_shop">{l s='On sale!'}</span> {elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount title_shop">{l s='Reduced price!'}</span>{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))} {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)} <span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if} {/if} {if isset($comparator_max_item) && $comparator_max_item && !isset($instant_search)} <p class="compare checkbox choices-thin clearfix"> <input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked="checked"{/if} /> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p> {/if} <div class="clear noneclass"></div> {if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE} {if ($product.allow_oosp || $product.quantity > 0)} {if isset($static_token)} <a class="ajax_add_to_cart_button exclusive btn_add_cart" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}&token={$static_token}", false)}" title="{l s='Add to cart'}"> <span>{l s='Add to cart'}</span> </a> {else} <a class="ajax_add_to_cart_button exclusive btn_add_cart" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", false)}" title="{l s='Add to cart'}"> <span>{l s='Add to cart'}</span> </a> {/if} {else} <span class="exclusive">{l s='Add to cart'}</span> {/if} {/if} <a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a> </div> </li> {/foreach} <script> (function($) { $(function() { function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { createCookie(name,"",-1); } $('ul.product_view').each(function(i) { var cookie = readCookie('tabCookie'+i); if (cookie) $(this).find('li').eq(cookie).addClass('current').siblings().removeClass('current') .parents('#center_column').find('#product_list').addClass('list').removeClass('grid').eq(cookie).addClass('grid').removeClass('list'); }) $('ul.product_view').delegate('li:not(.current)', 'click', function(i) { $(this).addClass('current').siblings().removeClass('current') .parents('#center_column').find('#product_list').removeClass('grid').addClass('list').eq($(this).index()).addClass('grid').removeClass('list') var cookie = readCookie('tabCookie'+i); if (cookie) $(this).find('#product_list').eq(cookie).removeClass('grid').addClass('list').siblings().removeClass('list') var ulIndex = $('ul.product_view').index($(this).parents('ul.product_view')); eraseCookie('tabCookie'+ulIndex); createCookie('tabCookie'+ulIndex, $(this).index(), 365); }) }) })(jQuery) </script> </ul> {/if} Link to comment Share on other sites More sharing options...
parsifal Posted September 30, 2014 Share Posted September 30, 2014 Μάλιστα. <h5><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|escape:'htmlall':'UTF-8'|truncate:25:'...'}</a></h5> Γίνεται truncate με μέγιστους προβαλλόμενους χαρακτήρες τους 25, αλλά πάλι δεν εξηγεί γιατί σου κόβει το "Citroen C2 '04 1360cc", το οποίο είναι 21 χαρακτήρες... Link to comment Share on other sites More sharing options...
netplayer Posted September 30, 2014 Share Posted September 30, 2014 Τους ελληνικους τους κοβει πολυ περισσοτερο επειδη τους αποθηκευει στην DB utf8 html encoded, πχ Δεμα = Δεμα δηλαδή πολλαπλάσιοι χαρακτήρες για κάθε ελληνικό χαρακτήρα. Link to comment Share on other sites More sharing options...
parsifal Posted September 30, 2014 Share Posted September 30, 2014 Από ποια έκδοση ισχύει αυτό; Σε PS 1.5.3.1, οι ελληνικοί χαρακτήρες φαίνεται να αποθηκεύονται κανονικά: Link to comment Share on other sites More sharing options...
netplayer Posted September 30, 2014 Share Posted September 30, 2014 Από ποια έκδοση ισχύει αυτό; Σε PS 1.5.3.1, οι ελληνικοί χαρακτήρες φαίνεται να αποθηκεύονται κανονικά: prestashop-db-greek-characters.png Στην 1.6 και μετα το παρατηρησα και υπεθεσα απο το προβλημα αυτη θα ειναι η αιτια. Μπορει να μας διαφωτισει ο O.P. ποια εκδοση εχει και να δει στην Db αν ισχυει αυτο. Link to comment Share on other sites More sharing options...
parsifal Posted October 1, 2014 Share Posted October 1, 2014 (edited) Και στη στήλη "Name" συμβαίνει το ίδιο; Το screenshot σου δείχνει μέχρι τη στήλη "Short description, η οποία δέχεται rich/HTML formatted text και ίσως γι' αυτό εφαρμόζεται κωδικοποίηση non-Latin χαρακτήρων ως HTML entities. Όμως η στήλη "Name" πρέπει να μπορεί να χρησιμοποιείται και για sorting, γι' αυτό μου φαίνεται τεχνικά λάθος να συμβαίνει το ίδιο και σε αυτήν... Edited October 1, 2014 by parsifal (see edit history) 1 Link to comment Share on other sites More sharing options...
netplayer Posted October 3, 2014 Share Posted October 3, 2014 Και στη στήλη "Name" συμβαίνει το ίδιο; Το screenshot σου δείχνει μέχρι τη στήλη "Short description, η οποία δέχεται rich/HTML formatted text και ίσως γι' αυτό εφαρμόζεται κωδικοποίηση non-Latin χαρακτήρων ως HTML entities. Όμως η στήλη "Name" πρέπει να μπορεί να χρησιμοποιείται και για sorting, γι' αυτό μου φαίνεται τεχνικά λάθος να συμβαίνει το ίδιο και σε αυτήν... Οχι στη Name, σωστα ! δεν διαβασα προσεκτικα τα posts, sorry. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now