问题标签 [civicrm-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
190 浏览

drupal-7 - 在 Drupal 中放置 CiviCRM 4+ 扩展的位置

我正在尝试开发 CiviCRM 扩展,并且我已经使用Totten\Civix.

我应该在哪个目录中放置 CiviCRM 扩展以及如何在 CiviCRM 中启用它?

我试过把它放进去,sites\default\files\civicrm\ext但是当我去Administer -> Extensions我找不到它列出来,当我点击Add New按钮时什么都没有出现。

CiviCRM 在 Drupal 7 中运行,Drupal/CiviCRM 安装在我运行 WAMP 的本地机器上。

我是新手,任何帮助将不胜感激

0 投票
0 回答
166 浏览

drupal-7 - Civicrm 活动搜索和高级搜索自定义

我需要在 civicrm 活动搜索(高级搜索)中自定义并添加 2 个自定义字段。

我正在使用 civicrm 4.7 和 drupal 7。

我添加了 2 个字段:一个带有搜索条件的下拉列表,如(=、!=、<、> 等)和一个带有搜索字符串的文本框。

现在我希望能够更改使用活动搜索表单提交搜索表单时执行的 sql 操作:

example.com/civicrm/activity/search

我已经浏览了开发人员资源和可用的钩子,但我找不到更改代码并将 2 个条件添加到基于其余现有搜索表单字段准备的现有查询的方法。

我什至检查了自定义搜索,但因为我不想创建新的自定义搜索,我只想修改现有搜索,以便可以在核心中对其进行修改,然后将其作为补丁包含在 civicrm 中,以便其他人可以受益。

到目前为止,我还没有找到实现它的方法。但最近我检查了“CRM/Activity/form/”文件夹中的 Search.php,这就是我可能需要进行更改的地方。

由于我是 civicrm 的新手,所以我不清楚 civicrm MVC 是如何工作的。到目前为止,我能够理解目录结构,但我对 Activity 文件夹的各个文件夹中的 DAO/BAO 和 selector.php 不清楚。

任何帮助将不胜感激,以便我可以为 civicrm 社区做出贡献。

请参阅此图像以获取搜索表单字段: 在此处输入图像描述

0 投票
0 回答
79 浏览

php - 如何添加自定义字段 CiviCRM 以允许用户购买多个活动的门票?

我正在编辑我的问题以使其更清楚。

用户案例 我想发布一个事件,用户可以从中为票选择特定的包。

我还想让我的客户选择一张允许他们参加多个活动的门票。

我如何使用 CiviCRM 做到这一点?

想法 1: 我的一个想法是在表单中添加一个隐藏字段,如果用户选择多个活动的票,该字段将使用 javascript 填充,但我不想这样做,因为我想允许管理员指定在后端创建事件时的此值。

想法 2: 我试图在创建价格集时在价格字段中添加自定义选项,以便我可以添加要提供给客户的额外事件的数量。那么我该如何添加呢?这是使用 CiviCRM 的理想方式吗?

还是有其他方法可以做到这一点?我已经在这里待了将近一个星期,但没有解决方案。

我真的很感激任何建议。谢谢你。

0 投票
0 回答
43 浏览

angularjs - Wordpress 找不到 Angular js 扩展模块的“civicrm/a/#/hello”

我是 Civicrm 的新手。我已按照此视频中的说明设置 angularJs 模块https://www.youtube.com/watch?v=d_nKAk7vg80。问题是找不到 civicrm angularjs 页面的基本路径。

0 投票
1 回答
84 浏览

drupal - civix 生成:模块 org.civicrm.angularex 错误

我已经在 Windows 上安装了带有 vagrantbox 和 vagrant 的 civicrm buildkit,ubuntu 服务器运行,并且在 d7-master.dev 我正在听 drupal civicrm 一切正常。

当我尝试使用 civix 扩展生成器生成模块时,例如:

在命令中:

我收到此错误:[RuntimeException] 无法确定 INI 文件路径。

我尝试了我所知道的一切,谷歌看到的一切都没有发生。例如:

有效,但无法解决此错误。

在此处输入图像描述

0 投票
0 回答
89 浏览

php - 在 API 中替换 CiviCRM 令牌的问题

我目前正在开发一个 CiviCRM 扩展,我需要在 html 代码中替换 CiviCRM-Tokens(用于 pdf 和邮件生成)。

我对核心文件进行了一些研究,并尝试重新创建PDFLetterCommon.php( /civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php) 中的行为,它替换了 postProcess 函数中的标记。

这是原始的 CiviCRM 代码:

这是我的测试版本:

(此代码位于我的扩展中的 api 函数内)

我正在使用$skipOnHold(false) 和$skipDeceased(true) 的默认值,并且只是将一个(现有)用户 ID 传递到$params数组中($tokenParams在我的代码中)。

这是我的问题:

通过 CiviCRM 的核心函数正确填充了我的$messageToken和变量,但是当我将它们全部传递给返回的变量时,返回的变量包含一个空数组。$returnPropertiesCRM_Utils_Token::getTokenDetails()$contact

我真的没有想法,我一直在寻找CRM/Utils/Token.php位置getTokenDetails(),但没有成功找到我的代码问题。

提前感谢您的帮助!

0 投票
1 回答
150 浏览

civicrm - 创建新扩展后的 ciix 未知扩展

我在 CLI 上使用 civix 在 civicrm 上创建了一个新扩展。它安装成功,然后询问我是否要启用它。当我说是时,我收到安装错误:未知扩展名。请协助 错误信息

0 投票
0 回答
147 浏览

drupal-7 - 使用 CiviCRM 表设计矩阵 Web 表单

请打开图片查看我的预期形式我正在将 Civicrm 与 drupal 一起使用。还使用 civicrm webfrom 集成模块进行注册和/或数据捕获要求。

现在针对特定要求,我需要开发一种矩阵形式。表示我想在屏幕上显示表格形式。对于表格的每一行,都会有一定的控制来接收用户的输入,并且在提交表单(点击保存按钮)时,它会为表格中的每一行存储一条记录。

这里,目标表来自 civicrm。我用一组特定的自定义字段定义了一个活动,所以在 civicrm 数据库而不是在 drupal 站点数据库中创建了一个新表,这个表与其他 civicrm 表有很多依赖关系。

我遇到了某些模块来矩阵 webform 功能,但它适用于 drupal 站点数据库而不是辅助数据库(这里 civicrm 数据库与 drupal 集成)。

使用“视图数据库连接器”模块可以访问视图中的 civicrm 表,但它对可用的矩阵网络表单模块没有帮助。

这怎么可能实现?我对核心php知之甚少。

0 投票
0 回答
121 浏览

drupal - 使用 civicrm 匿名注册会员时访问被拒绝

我的问题与 Civicrm 会员注册页面有关。我收到一个匿名用户的错误,他们不允许访问该页面。

我正在使用 Drupal 7 和 CiviCRM 5.3。我对 Drupal 比较陌生。该站点位于仅用于测试目的的域上。

我已经对此进行了研究,并且在寻找有类似问题的人方面没有收到太多信息。其他然后看到有关用户 0 的帖子。我检查并发现用户 0 在那里并且看起来很好。

作为尝试解决问题的一部分,我还设置了一个模拟事件。同样的事情也会发生。匿名用户可以看到该事件,但一旦单击注册页面,它就会给出拒绝访问的消息。

我还检查了权限和角色,并且允许匿名访问这些页面。换句话说,报名参加活动并做出贡献被选中。这是会员注册的页面。

这是实际站点https://hebrewburialofnewhaven.org

请记住,这只是一个开发站点,而不是生产站点。我们正在使用 Drupal 和 Civi 进行测试。因为 wordpress 确实变得非常耗费资源,并且似乎在干净地运行 civi 时遇到了很多问题。

我感谢大家对此提供的任何帮助或指导。这可能是我遗漏或未配置的愚蠢行为。

0 投票
0 回答
118 浏览

payment-gateway - OMNIPAY 中的 NMI 网关

尝试使用 OMNIPAY 将 NMI 集成添加到我的 CiviCRM。

我添加了 GIT 存储库(尝试了https://github.com/mfauveau/omnipay-nmihttps://github.com/nerdmedia/omnipay-nmi)并添加了自述文件中列出的所需行。

我还为它创建了一个 MGD.PHP 文件并将其添加到元数据文件夹中(尽管不确定我是否正确地这样做了)。

将整个文件夹上传到我的 CiviCRM 扩展程序并安装扩展程序时,我得到了omnipay - NMI 作为 CiviCRM 中的支付处理器,但是在尝试进行贡献时,我收到错误“class '\Omnipay\NMI\DirectPostGateway'未找到”

不确定我是否遗漏了什么或做错了什么。
任何帮助,将不胜感激。