OctoberCMS Builder插件,上传文件并存储在数据库中

2023-12-09

我是新来的十月CMS我正在尝试使用创建一个插件构建器插件其本身十月CMS提供OctoberCMS 构建器插件称为类似“社交链接“,一切正常,但我无法理解将文件上传到任何目录并将该名称存储到我的数据库表的特定字段的逻辑。我的表的字段名称是“社交标志“我试图在其中存储将要上传的文件名。

我现在可以将文件上传到默认目录十月CMS使用我正在上传的文件生成。但问题是我无法将该特定文件名存储到我的数据库表的字段中。

有人可以指导我应该做什么才能实现这一目标吗?

这是我到目前为止所做的模型文件。

社交链接.php

<?php namespace Technobrave\SocialLinks\Models;

use Model;

/**
 * Model
 */
class Sociallink extends Model
{
    use \October\Rain\Database\Traits\Validation;

    /*
     * Validation
     */
    public $rules = [
    ];

    /*
     * Disable timestamps by default.
     * Remove this line if timestamps are defined in the database table.
     */
    public $timestamps = false;

    /**
     * @var string The database table used by the model.
     */
    public $table = 'technobrave_sociallinks_';


    public $attachOne = [
            'social_logo' => 'System\Models\File'
    ];

}

字段.yaml

fields:
    social_logo:
        label: 'technobrave.sociallinks::lang.Sociallink.social_logo'
        span: auto
        oc.commentPosition: ''
        mode: file
        useCaption: true
        thumbOptions:
            mode: crop
            extension: auto
        type: fileupload

列.yaml

columns:
    social_logo:
        label: 'technobrave.sociallinks::lang.Sociallink.social_logo'
        type: text
        searchable: true
        sortable: true

正如您在上面的代码中看到的,目前我只有 1 个字段,因为我仅在上传图像时遇到此特定字段的问题,我想存储该文件名。所有其他表单属性都对我有用,比如文本、文本区域等,所以现在我只想用这个单一字段来实现这个目标。

有人可以指导我应该做什么来解决这个问题吗?

Thanks


好吧,伙计们,最终我按照以下步骤解决了这个问题。

首先,我们不需要在数据库表中创建任何列来存储任何数据文件上传名称在数据库表中的任何字段中十月CMS会自动进入系统文件桌子。所以我只是删除了'社交标志' 字段通过builder plugin.

然后我删除了旧的上传文件从我当前的控制社交链接插件 using 生成器插件 from admin并简单地创建一个新表,而无需与任何表的字段建立任何关系。

然后我就去了社交链接.php模型,并确保此代码存在

public $attachOne = [
            'social_logo' => 'System\Models\File'
    ];

还要确保您的mode应该image和你的type can be 上传文件因为我能够在编辑记录部分看到这样的图像..您可以根据您的需要更新此代码,但这对我来说很好,所以我把这个代码...

字段.yaml

fields:
    social_logo:
        label: 'Social Logo'
        mode: image
        span: auto
        type: fileupload

然后我去了管理区域并创建了测试模板并在Code选项卡我现在放置此代码只是为了检查单个记录,

use technobrave\sociallinks\Models\Sociallink;


function onStart()
{
    $this['model_data'] = Sociallink::first();
}

在模板标记中,我简单地把这个

<img src="{{ model_data.social_logo.getPath() }}" />

哇哦,我可以看到图像..:)

此外,如果您想要多个数据,那么您可以将此代码放入Code Tab,

use technobrave\sociallinks\Models\Sociallink;


function onStart()
{
    $this['model_data'] = Sociallink::all();
}

您的 html 标记选项卡将包含以下代码,

<h2>Image List</h2>
<ul>
    {% for current_model_data in model_data %}
    <h3>{{ current_model_data.id }}</h3>
    <img src="{{ current_model_data.social_logo.getPath() }}" />


    {% endfor %}
</ul>

感谢大家的支持..希望这对OctoberCMS新手有帮助..非常感谢..

谢谢 ..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OctoberCMS Builder插件,上传文件并存储在数据库中 的相关文章

  • 将区域设置设置为系统默认 UTF-8

    当在 rApache 中运行 R 时 语言环境是从 Apache Web 服务器继承的 因此Sys getlocale 总是等于 C 我希望使用我的网络应用程序UTF8 所以我使用 Sys setlocale LC ALL en US UT
  • do 块中的返回类型

    我试图理解 Haskell 中的 Monad 在我无数次的代码实验中我遇到了这个事情 f2 do return da 事实上 它不想在编译时出现关于类型的巨大错误 我认为唯一重要的部分是 No instance for Monad m0 a
  • 如何通过将列的类别分成集合来过滤数据框?

    我有一个数据框 Prop ID Unit ID Prop Usage Unit Usage 1 1 RESIDENTIAL RESIDENTIAL 1 2 RESIDENTIAL COMMERCIAL 1 3 RESIDENTIAL IND
  • 我可以在对象原型(方法)中定义属性吗?

    问题第 1 部分 我创建了一个包含属性的对象构造函数 但我想知道是否可以在其中一个方法中定义该对象的另一个属性 例如 var Player function p1 this property1 p1 this property2 0 那么
  • 是否可以在不同列的 CSS 网格的内部间隙中绘制垂直分隔符?

    我想要一个由可变长度元素组成的响应式网格 网格应填充包含元素的可用宽度 列数根据容器的宽度而变化 使用 CSS 网格可以直接实现这一点 但是 我不知道如何在列之间添加垂直边框 即仅在内部列间隙中 下面的简单演示成功地在三列的情况下实现了垂直
  • 四舍五入最接近的 0.5

    我想以这种方式四舍五入 13 1 round to 13 5 13 2 round to 13 5 13 3 round to 13 5 13 4 round to 13 5 13 5 13 5 13 6 round to 14 0 13
  • 使用 JavaScript 验证特殊字符

    特殊字符 lt gt and 不允许出现在文本框中 我需要进行验证检查以限制提交时的这些字符以及空检查 我在函数中编写了整个验证代码 并在单击提交按钮时调用它 但单击时无法识别该函数 请帮我写一些JavaScript代码来实现这个功能 一个

随机推荐

  • Vue Router、GitHub Pages 和自定义域无法使用路由链接

    我的域名 myname com 我的 GitHub 存储库 myname 我的 GitHub 名称 myname 底层 GH 页面 URL myname github io myname 我的问题 我使用 History Vue Route
  • Android ListView 编程选择/突出显示

    我有一个简单的列表视图和列表适配器设置 如下所示 listAdapter new ArrayAdapter
  • 为什么这个任务挂起?

    TestMethod public void Y int i 0 new Task gt i Wait Assert AreEqual 1 i 上例中的任务为何永远等待 我该怎么办Wait 对于任务 所以它不会挂起 你没有start the
  • Linux 上的 pthread 条件变量,奇怪的行为

    我正在 Linux 上同步读取器和写入器进程 我有 0 个或多个进程 读者 需要休眠 直到它们被唤醒 读取资源 返回休眠状态等等 请注意 我不知道随时有多少个读者进程启动 我有一个进程 编写器 它在资源上写入 唤醒读者并执行其业务 直到另一
  • 如何强制水平方向?

    我想做以下事情 ViewControllerA 不应进入水平方向 ViewControllerA 推送 ViewControllerB ViewControllerB 应该进入水平方向 不知道要设置什么才能实现这一点 In each UIV
  • X11中的截图

    使用 Xlib 库可以使用哪些函数来截取 X11 桌面的屏幕截图 我更喜欢一种比获取单个像素更有效的方法 Thanks X11中截屏的 标准工具是使用 xwd root gt myscreen xwd 然后 转换为 pnm xwd2pnm
  • 正则表达式 字符串内只有一个点,不在开头或结尾

    我怎样才能写一个正则表达式 in javascript只允许用户这样写 abc def abc def or abc 所以基本上匹配只包含字母的模式 仅限小写字母 a z and a or 但不匹配 or 在字符串的开头或结尾或多次 只有一
  • 渲染设计编辑密码表单

    我试图在另一个视图中呈现设计编辑密码表单 因为我不想重复编辑密码逻辑 我尝试了以下操作 生成设计视图后 渲染上的许多其他变化似乎都给了我同样的错误 foo foo 中的 ActionView MissingTemplate 缺少部分设备 密
  • .NET 枚举允许在最后一个字段中使用逗号

    为什么这个 NET 枚举允许在最后一个字段中包含逗号 这有什么特殊的意义吗 FlagsAttribute public enum DependencyPropertyOptions byte Default 1 ReadOnly 2 Opt
  • 运行 java -jar 时包含外部 jar

    根据我的阅读 当您执行如下命令时 java jar foo jar 然后主类路径将被忽略 类路径将从清单文件中获取 此外 在命令行上声明的类路径也会被忽略 所以在 java classpath usr local jar foobar ja
  • 在 C# 中使用动态 Or 表达式

    我在程序中使用动态过滤器 如下所示 public static IQueryable
  • 如何在 swift 3 中制作单选按钮

    我正在创建一个 Swift iOS 应用程序 其中我必须显示一个接受水平和垂直方式的单选按钮 我在 GitHub 上找到了一个库 它看起来可以解决我的问题 但它只显示水平方向 并排方向 我需要垂直方向 即在另一个单选按钮下方显示一个单选按钮
  • 在 XSD 中我想指定元素只能有空白内容

    以下 XSD 应允许名为 OnlyWhiteSpaceElement 的元素 该元素具有必需的 Name 属性 并且只能包含空白内容
  • KeyListener 的多键检测 (java)

    如何实现 KeyListener 以便我可以创建一个两人游戏系统 其中一个人使用 和 来控制一个角色 而另一个人可以使用方向键而不互相打扰 我现在的方式是 当一个人按住箭头键时 他们的角色会移动 但是当您使用其他玩家的控件时 第一个人的角色
  • python for循环中的负索引[重复]

    这个问题在这里已经有答案了 我在谷歌搜索时发现了这个问题 但无法理解这是怎么发生的 a 0 1 2 3 for a 1 in a print a 1 Result 0 1 2 2 现在如果我再次打印 a 0 1 2 2 另一个类似的例子 设
  • Android 无需 root 即可访问 ARP 表

    最近在做一个Android项目 需要访问ARP表 要求之一是避免任何需要 root 设备的方法 所以 我的问题是 有没有办法在不root设备的情况下访问android中的ARP表 目前我发现大多数方法都使用 proc net arp 来访问
  • 如何在 jquery DataTable 中保持活动页面

    我在 jquery dataTable 上列出了一些数据 并且由 DataTable 插件默认完成分页 我想在处理数据时获取数据表的当前页面 并在处理操作后将该页面设置为活动状态并重新加载数据 看看这个小提琴 您可以看到如何获取当前页面 在
  • 关于如何更改通知接收器中的 setLatestEventInfo 的替代方法

    您好 我在这一点上有库存 其中 setLatesEventInfo 有错误 我知道 setLatestEventInfo 不能在 API 23 及更高版本上运行 有人可以帮助我如何让这段代码运行吗 我的意思是替代方法 功能相同但编码不同 这
  • 具有有效证书的 Spring Boot https 获取 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,自签名工作正常

    我正在运行 Spring Boot 1 4 0 RELEASE 我从 IT 部门获得了有效证书 我使用 IT cert cer 生成了 tomcat keystore jks 文件 keytool keystore tomcat keyst
  • OctoberCMS Builder插件,上传文件并存储在数据库中

    我是新来的十月CMS我正在尝试使用创建一个插件构建器插件其本身十月CMS提供OctoberCMS 构建器插件称为类似 社交链接 一切正常 但我无法理解将文件上传到任何目录并将该名称存储到我的数据库表的特定字段的逻辑 我的表的字段名称是 社交