问题标签 [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.
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 的本地机器上。
我是新手,任何帮助将不胜感激
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 社区做出贡献。
php - 如何添加自定义字段 CiviCRM 以允许用户购买多个活动的门票?
我正在编辑我的问题以使其更清楚。
用户案例 我想发布一个事件,用户可以从中为票选择特定的包。
我还想让我的客户选择一张允许他们参加多个活动的门票。
我如何使用 CiviCRM 做到这一点?
想法 1: 我的一个想法是在表单中添加一个隐藏字段,如果用户选择多个活动的票,该字段将使用 javascript 填充,但我不想这样做,因为我想允许管理员指定在后端创建事件时的此值。
想法 2: 我试图在创建价格集时在价格字段中添加自定义选项,以便我可以添加要提供给客户的额外事件的数量。那么我该如何添加呢?这是使用 CiviCRM 的理想方式吗?
还是有其他方法可以做到这一点?我已经在这里待了将近一个星期,但没有解决方案。
我真的很感激任何建议。谢谢你。
angularjs - Wordpress 找不到 Angular js 扩展模块的“civicrm/a/#/hello”
我是 Civicrm 的新手。我已按照此视频中的说明设置 angularJs 模块https://www.youtube.com/watch?v=d_nKAk7vg80。问题是找不到 civicrm angularjs 页面的基本路径。
drupal - civix 生成:模块 org.civicrm.angularex 错误
我已经在 Windows 上安装了带有 vagrantbox 和 vagrant 的 civicrm buildkit,ubuntu 服务器运行,并且在 d7-master.dev 我正在听 drupal civicrm 一切正常。
当我尝试使用 civix 扩展生成器生成模块时,例如:
在命令中:
我收到此错误:[RuntimeException] 无法确定 INI 文件路径。
我尝试了我所知道的一切,谷歌看到的一切都没有发生。例如:
有效,但无法解决此错误。
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
和变量,但是当我将它们全部传递给返回的变量时,返回的变量包含一个空数组。$returnProperties
CRM_Utils_Token::getTokenDetails()
$contact
我真的没有想法,我一直在寻找CRM/Utils/Token.php
位置getTokenDetails()
,但没有成功找到我的代码问题。
提前感谢您的帮助!
civicrm - 创建新扩展后的 ciix 未知扩展
我在 CLI 上使用 civix 在 civicrm 上创建了一个新扩展。它安装成功,然后询问我是否要启用它。当我说是时,我收到安装错误:未知扩展名。请协助 错误信息
drupal-7 - 使用 CiviCRM 表设计矩阵 Web 表单
我正在将 Civicrm 与 drupal 一起使用。还使用 civicrm webfrom 集成模块进行注册和/或数据捕获要求。
现在针对特定要求,我需要开发一种矩阵形式。表示我想在屏幕上显示表格形式。对于表格的每一行,都会有一定的控制来接收用户的输入,并且在提交表单(点击保存按钮)时,它会为表格中的每一行存储一条记录。
这里,目标表来自 civicrm。我用一组特定的自定义字段定义了一个活动,所以在 civicrm 数据库而不是在 drupal 站点数据库中创建了一个新表,这个表与其他 civicrm 表有很多依赖关系。
我遇到了某些模块来矩阵 webform 功能,但它适用于 drupal 站点数据库而不是辅助数据库(这里 civicrm 数据库与 drupal 集成)。
使用“视图数据库连接器”模块可以访问视图中的 civicrm 表,但它对可用的矩阵网络表单模块没有帮助。
这怎么可能实现?我对核心php知之甚少。
drupal - 使用 civicrm 匿名注册会员时访问被拒绝
我的问题与 Civicrm 会员注册页面有关。我收到一个匿名用户的错误,他们不允许访问该页面。
我正在使用 Drupal 7 和 CiviCRM 5.3。我对 Drupal 比较陌生。该站点位于仅用于测试目的的域上。
我已经对此进行了研究,并且在寻找有类似问题的人方面没有收到太多信息。其他然后看到有关用户 0 的帖子。我检查并发现用户 0 在那里并且看起来很好。
作为尝试解决问题的一部分,我还设置了一个模拟事件。同样的事情也会发生。匿名用户可以看到该事件,但一旦单击注册页面,它就会给出拒绝访问的消息。
我还检查了权限和角色,并且允许匿名访问这些页面。换句话说,报名参加活动并做出贡献被选中。这是会员注册的页面。
- https://hebrewburialofnewhaven.org/civicrm/contribute/transact?reset=1&id=1
- 活动信息页面:https ://hebrewburialofnewhaven.org/civicrm/event/info?reset=1&id=1
- 活动报名页面:https ://hebrewburialofnewhaven.org/civicrm/participant/add?reset=1&action=add&context=standalone&eid=1
这是实际站点https://hebrewburialofnewhaven.org
请记住,这只是一个开发站点,而不是生产站点。我们正在使用 Drupal 和 Civi 进行测试。因为 wordpress 确实变得非常耗费资源,并且似乎在干净地运行 civi 时遇到了很多问题。
我感谢大家对此提供的任何帮助或指导。这可能是我遗漏或未配置的愚蠢行为。
payment-gateway - OMNIPAY 中的 NMI 网关
尝试使用 OMNIPAY 将 NMI 集成添加到我的 CiviCRM。
我添加了 GIT 存储库(尝试了https://github.com/mfauveau/omnipay-nmi和https://github.com/nerdmedia/omnipay-nmi)并添加了自述文件中列出的所需行。
我还为它创建了一个 MGD.PHP 文件并将其添加到元数据文件夹中(尽管不确定我是否正确地这样做了)。
将整个文件夹上传到我的 CiviCRM 扩展程序并安装扩展程序时,我得到了omnipay - NMI 作为 CiviCRM 中的支付处理器,但是在尝试进行贡献时,我收到错误“class '\Omnipay\NMI\DirectPostGateway'未找到”
不确定我是否遗漏了什么或做错了什么。
任何帮助,将不胜感激。