muestra un extracto de la descripción en las listas de productos.
This commit is contained in:
		
							parent
							
								
									f0b77967b3
								
							
						
					
					
						commit
						7b4457102e
					
				
					 8 changed files with 101 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								website_sale_product_description_displayed/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								website_sale_product_description_displayed/__init__.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | from . import models | ||||||
							
								
								
									
										11
									
								
								website_sale_product_description_displayed/__manifest__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								website_sale_product_description_displayed/__manifest__.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | { | ||||||
|  |     "name": "Display product website descrition in e-commerce catalog pages.", | ||||||
|  |     "version": "16.0.1.0.2", | ||||||
|  |     "category": "Website", | ||||||
|  |     "author": "Criptomart", | ||||||
|  |     "license": "AGPL-3", | ||||||
|  |     "application": False, | ||||||
|  |     "installable": True, | ||||||
|  |     "depends": ["website_sale"], | ||||||
|  |     "data": ["data/snippet_filter_data.xml", "views/website_sale_views.xml"], | ||||||
|  | } | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  |     <record id="website_sale.dynamic_snippet_newest_products_filter" model="ir.filters"> | ||||||
|  |         <field | ||||||
|  |             name="context" | ||||||
|  |         >{'display_website_description': True, 'add2cart_rerender': False}</field> | ||||||
|  |     </record> | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | from . import website_snippet_filter | ||||||
|  | from . import product_template | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | from odoo import models, fields, api | ||||||
|  | 
 | ||||||
|  | class ProductTemplate(models.Model): | ||||||
|  |     _inherit = 'product.template' | ||||||
|  | 
 | ||||||
|  |     website_description_limited = fields.Text( | ||||||
|  |         compute='_compute_website_description_limited', | ||||||
|  |         string='Website Description Limited' | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     @api.depends('website_description') | ||||||
|  |     def _compute_website_description_limited(self): | ||||||
|  |         for product in self: | ||||||
|  |             if product.website_description: | ||||||
|  |                 product.website_description_limited = product.website_description.splitlines()[0] | ||||||
|  |                 if len(product.website_description_limited) > 240: | ||||||
|  |                     product.website_description_limited = product.website_description_limited[:240] + '...' | ||||||
|  |             else: | ||||||
|  |                 product.website_description_limited = '' | ||||||
|  | @ -0,0 +1,44 @@ | ||||||
|  | from odoo import models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class WebsiteSnippetFilter(models.Model): | ||||||
|  |     _inherit = "website.snippet.filter" | ||||||
|  | 
 | ||||||
|  |     def _get_products_latest_sold(self, website, limit, domain, context): | ||||||
|  |         products = super()._get_products_latest_sold(website, limit, domain, context) | ||||||
|  |         if products: | ||||||
|  |             return products.with_context(display_website_description=True) | ||||||
|  |         else: | ||||||
|  |             return products | ||||||
|  | 
 | ||||||
|  |     def _get_products_latest_viewed(self, website, limit, domain, context): | ||||||
|  |         products = super()._get_products_latest_viewed(website, limit, domain, context) | ||||||
|  |         if products: | ||||||
|  |             return products.with_context(display_website_description=True) | ||||||
|  |         else: | ||||||
|  |             return products | ||||||
|  | 
 | ||||||
|  |     def _get_products_recently_sold_with(self, website, limit, domain, context): | ||||||
|  |         products = super()._get_products_recently_sold_with( | ||||||
|  |             website, limit, domain, context | ||||||
|  |         ) | ||||||
|  |         if products: | ||||||
|  |             return products.with_context(display_website_description=True) | ||||||
|  |         else: | ||||||
|  |             return products | ||||||
|  | 
 | ||||||
|  |     def _get_products_accessories(self, website, limit, domain, context): | ||||||
|  |         products = super()._get_products_accessories(website, limit, domain, context) | ||||||
|  |         if products: | ||||||
|  |             return products.with_context(display_website_description=True) | ||||||
|  |         else: | ||||||
|  |             return products | ||||||
|  | 
 | ||||||
|  |     def _get_products_alternative_products(self, website, limit, domain, context): | ||||||
|  |         products = super()._get_products_alternative_products( | ||||||
|  |             website, limit, domain, context | ||||||
|  |         ) | ||||||
|  |         if products: | ||||||
|  |             return products.with_context(display_website_description=True) | ||||||
|  |         else: | ||||||
|  |             return products | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 83 KiB | 
|  | @ -0,0 +1,16 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||||
|  | <odoo> | ||||||
|  |     <template | ||||||
|  |         id="products_item" | ||||||
|  |         name="Display product description" | ||||||
|  |         inherit_id="website_sale.products_item" | ||||||
|  |         customize_show="True" | ||||||
|  |     > | ||||||
|  |         <xpath expr="//a[@t-field='product.name']" position="after"> | ||||||
|  |             <div t-if="product.website_description_limited" class="product-website-description"> | ||||||
|  |                 <t t-raw="product.website_description_limited"/> | ||||||
|  |             </div> | ||||||
|  |         </xpath> | ||||||
|  |     </template> | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue