跳转到主要内容

允许数据库对象有多个图片

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

此模块扩展了任何模型的功能,以支持附加到它的多个图片(图库),并允许您管理它们。

目录

安装

此模块添加了抽象模型来工作。它的唯一目的是作为实现图库的其他模块的基础,因此如果您手动安装此模块,您将不会注意到任何变化。您应该安装基于此模块的任何其他模块,这将自动安装。

配置

要管理所有存储的图片,您需要

  • 转到 设置 > 技术 > 多图片

…但是您可能更愿意从继承此行为的子模块提供的表单中管理它们。

开发

要开发基于此模块的模块

  • 请参阅模块 product_multi_image 作为示例。

  • 您必须将模型 base_multi_image.owner 继承到需要图库的模型中

    class MyOwner(models.Model):
        _name = "my.model.name"
        _inherit = ["my.model.name", "base_multi_image.owner"]
    
        # If you need this, you will need ``pre_init_hook_for_submodules`` and
          ``uninstall_hook_for_submodules`` as detailed below.
        old_image_field = fields.Binary(related="image_main", store=False)
  • 在所有者视图中添加以下内容

    <field
        name="image_ids"
        nolabel="1"
        context="{
            'default_owner_model': 'my.model.name',
            'default_owner_id': id,
        }"
        mode="kanban"/>
  • 如果您正在扩展的模型已经有一个图片字段,并且您想欺骗Odoo将这些图片转换为多图片模式,您需要使用提供的 ~.hooks.pre_init_hook_for_submodules~.hooks.uninstall_hook_for_submodules,就像 product_multi_image 模块所做的那样

    try:
        from odoo.addons.base_multi_image.hooks import (
            pre_init_hook_for_submodules,
            uninstall_hook_for_submodules,
        )
    except ImportError:
        pass
    
    
    def pre_init_hook(cr):
        """Transform single into multi images."""
        pre_init_hook_for_submodules(cr, "product.template", "image")
        pre_init_hook_for_submodules(cr, "product.product", "image_variant")
    
    
    def uninstall_hook(cr, registry):
        """Remove multi images for models that no longer use them."""
        uninstall_hook_for_submodules(cr, registry, "product.template")
        uninstall_hook_for_submodules(cr, registry, "product.product")
Try me on Runbot

已知问题/路线图

  • OS文件存储模式适用于图像,其目的是提供一个路径,其中Odoo有读取权限且图像已经存在,而不是让模块将图像存储在那里。虽然添加该功能会很好。

错误跟踪器

问题跟踪在GitHub问题上。如果遇到问题,请检查那里您的问题是否已经被报告。如果您是第一个发现它的人,请通过提供详细和受欢迎的反馈来帮助我们解决问题。

请勿直接联系贡献者以获取支持或技术问题的帮助。

致谢

作者

  • Tecnativa

  • Antiun Ingeniería

  • S.L.

  • Sodexis

  • LasLabs

贡献者

其他致谢

原始实现

本模块受到OpenLabs和Akretion之前模块product_images的启发。

维护者

本模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

本模块是GitHub上OCA/server-tools项目的一部分。

欢迎您做出贡献。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

本发布没有可用的源分发文件。请参阅生成分发归档的教程。

构建分发

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页