Jump to content

Kategorien Text durch HTML ersetzen Modul?


Recommended Posts

Hallo zusammen,

 

eine Frabe hat schon jemand ein Modul entdeckt, welches die Kategorie Beschreibung nicht nur als Text und Bild anzeigt sondern auch HTML und diese Spielerein erlaubt?

Damit man schön dynamische Sachen machen kann.

 

Ich habe nur mal ein core Hack dazu gefunden, dies ist aber absolut schlecht, in Bezug auf Upgrades.

 

 

Bitte um Suchhilfe;=)

 

Grüße

Link to comment
Share on other sites

Hi rawsta,

 

mir geht es arum über den Category header. Dort kann ich im Presta nur ein Bild hochladen und ein wenig Text schreiben.

 

Ich bräuchte aber eine Möglichkeit in den Header wie beim normalen Product Text mit dem TinyMCE zu editieren, so dass ich Bilder und co anordnen kann wie ich möchte.

Weißt du wie das geht? Vll bin ich auch nur wieder zu blöd;)

 

Vielen Dank

 

Grüße

BluTiGeS

Link to comment
Share on other sites

Viele nDank für die Modul links, werde ich mir mal genauer anschauen.

 

jedoch ist es weiderum scahde, dass Presta wieder sein Grundverhalten für Kategorien umwirft. Dort wäre es denke ich für alle amschönsten, aus dem PLAINTEXT Feld ein HTML Feld zu machen und somit ist man wnderbar flexibel und braucht kein Modul.

 

:).

Link to comment
Share on other sites

Suche in den Kauf-Add-Ons Web 2.0 Footer oder Footer Large. Jede Menge Module und Möglichkeiten. Das mit dem Footer wurde erst jetzt in den letzten Versionen flexibler gemacht, aber auch noch nicht so wie ich es mir vorstelle. Ich nutze das Footer-Modul schon fast 2 Jahre...

Link to comment
Share on other sites

Hab hier gerade mal ein Hack gefunden ;), jedoch hab ich den noch nciht ausprobiert ;).

http://www.jellygnit...ry-description/

 

Auszug aus LinK:

 

NOTE: This post has an updated version for Prestashop 1.4.

 

When you enter a category into Prestashop you have the ability to enter a description. This only allows text though – no HTML.

Find out how to display HTML in Prestashop’s category description…

 

You need to make some changes to Prestashop’s core code so please be advised any future upgrades may overwrite your changes. Backup all files before beginning!

These changes have been tested with Prestashop version 1.3

1. [admin folder]/tabs/AdminCategories.php

 

First we need to add class=”rte” to the text area as well as load the tinyMCE script on the edit category page in the admin area.

Approx line 212,

replace

 

   <textarea cols="40" rows="10" id="description_'.$language['id_lang'].'" name="description_'.$language['id_lang'].'">'.htmlentities(stripslashes($this->getFieldValue($obj, 'description', intval($language['id_lang']))), ENT_COMPAT, 'UTF-8').'</textarea> 


  1.  

with:

 

   <textarea class="rte" cols="40" rows="10" id="description_'.$language['id_lang'].'" name="description_'.$language['id_lang'].'">'.htmlentities(stripslashes($this->getFieldValue($obj, 'description', intval($language['id_lang']))), ENT_COMPAT, 'UTF-8').'</textarea> 
   <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", 
	 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> 

 

2. classes/Category.php

 

Now we change the field type of description: ‘description’ => ‘isCleanHtml’ becomes ‘description’ => ‘isString’

Approx. line 65, replace

 

protected  $fieldsValidateLang = array('name' => 'isCatalogName', 'link_rewrite' => 'isLinkRewrite', 'description' => 'isCleanHtml',
'meta_title' => 'isGenericName', 'meta_description' => 'isGenericName', 'meta_keywords' => 'isGenericName');

 

with:

protected  $fieldsValidateLang = array('name' => 'isCatalogName', 'link_rewrite' => 'isLinkRewrite', 'description' => 'isString',
'meta_title' => 'isGenericName', 'meta_description' => 'isGenericName', 'meta_keywords' => 'isGenericName');

3. classes/ObjectModel.php

 

Approx. line 295, replace

 

if (isset($this->{$field}[$language['id_lang']]) AND !Tools::isEmpty($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] = '';

 

with

 

if (isset($this->{$field}[$language['id_lang']]) AND !Tools::isEmpty($this->{$field}[$language['id_lang']])) {
if(isset($this->fieldsValidateLang[$field]) && $this->fieldsValidateLang[$field]=='isString'){
$fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']],'true');
}else{
$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] = '';

 

4. category.php

 

Lastly make sure we get rid of carriage returns being converted in to breaks when displaying the description.

Approx. line 49, replace

 

$category->description = nl2br2($category->description);

 

with

 

$category->description = ($category->description);

 

Thats all there is to it. If you notice any bugs or problems please drop me an email or comment.

Link to comment
Share on other sites

Den Hack hatte ich auch eingebaut. Ich warne aber davor, da dieser Hack dann auch fehlerhafte, bzw. nicht UTF-8 konforme Zeichen an die Suchmaschinen weitergibt (Meta-description). Module die z.B. diese Beschreibung dann nutzen, wie Mega-Menu oder Presta-Mobile, können den Text nicht auslesen, lesen Sonderzeichen aus und funktionieren dann nicht mehr.

Man tut sich mit diesem Hack nichts Gutes. Ich habe diesen wieder ausgebaut, weil eben viele andere extra Module dann nicht funktionieren.

 

Für diejenigen, die es nicht vorhaben irgendwann doch mal andere Module zu kaufen, ist der Hack ok. Aber für andere nicht brauchbar, hinderlich und fehleranfällig. Man weiss dann auch nämlich nicht von wo die Fehler kommen... das ist dann das Größte Problem...

 

Außerdem ist es nicht möglich ein Upgrade zu machen. Von Anpassungen an Core-Dateien halte ich nichts...

  • Like 1
Link to comment
Share on other sites

Ich halte davon auch nichts, unnötige fehlerquellen wie du bereits erwähnt hast.

 

Sprich für mein vorhaben müsste man dann selbst ein HOOK zuweisen und ein Modul schreiben, aber vll finde ich noch eins.

 

EDIT:

 

für 1.4 haben sie das mit dem UTF-8 und co schlauer gelöst.

 

In dem die Designer dort die Override classes genutzt haben, also keien Core changes.

 

http://www.jellygnit...cription-v-1-4/

Link to comment
Share on other sites

Hatte ich auch. Funktioniert nicht. Vermutlich ist genau dieser Override daran Schuld, dass sich die danach dazugekauften Module dann sich nicht mehr installiert haben...

Sorry bin kein Coder, ich kann nur von meinen Erfahrungen sprechen und dass mir der eine oder andere Entwickler die Pest an den Hals wünscht... Komme ich da mit einem Katalog von 19.000 Artikeln 300 Kategorien und unzähligen Unterkategorien und dann noch jede Menge eigenen Anpassungen. Irgendwann geht garnichts mehr... Spätestens jetzt wo ich von 1.4.4.0 auf 1.4.6.2 upgegradet habe. Shop langsam, voller Fehler...

 

Nö, ich lasse jetzt wohl die Finger von eigenen Anpassungen und extra Modulen, die nicht unter den Kauf-Addons zu finden sind... Habe mein Lehrgeld bezahlt...

  • Like 1
Link to comment
Share on other sites

habe es gerade mal hier getestet, so lange man den Tiny MCE weglässt sehe, ich da kein Problem mit, da die Eingabe ja gleich bleibt und man ja nur via template sagt, er solle die Tags nicht löschen.

{$node.desc|strip_tags:false|escape:html:'UTF-8'}

sonst ist es ja standard auf true und dann hat man wieder blanko text

 

 

Zu deinem Post obnen, dass stimmt natürlich umso größer das wird und umso mehr angepasst wird, desto unwahrscheinlicher wird es das ein update funktioniert.

 

Ich werde das auch mal meinem Auftraggeber, erst mal ausreden. Bis es Standard wird ;) oder hat jemand Bock auf teamwork development?

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...