ymcatwincities / openy_activity_finder
4.1.3
2022-04-26 09:57 UTC
- dev-9.x-3.x
- 4.x-dev
- 4.2.x-dev
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.x-dev
- 3.1.1
- 3.1.0
- 3.0.0
- dev-snyk-upgrade-de262649503f7cf4c7059341c82fbe69
- dev-snyk-upgrade-f8aa510dc86be5641cd532a1871c8884
- dev-snyk-upgrade-551591e2ce82852c031109d1a1d5374f
- dev-snyk-upgrade-6d53e9695da8479dc309f659f26431e5
- dev-snyk-upgrade-0b02aa8e7f3d751e752963448f10222e
- dev-snyk-upgrade-992ae8453088a579f2ab00136918b2e8
- dev-snyk-upgrade-d774049af1ba257af3012cba49bbdf20
- dev-snyk-upgrade-1d4bb04b4d3c52fc271b97dd14f7643e
- dev-snyk-upgrade-9e2e3ee90e2e59b2f5800b99bdacdc3f
- dev-snyk-upgrade-864503f0ef9c95f7d23be1188260b3a9
- dev-snyk-upgrade-ea69c0951928165ff1fa83a4105ce8b0
- dev-snyk-upgrade-5dcb2aed322ea581a9a0f97cfb1f4814
- dev-snyk-upgrade-33784e1ecf8741011e8b810dba7ddfe7
- dev-snyk-upgrade-1e4f8a7d74a34471d63b5c4fd1728440
- dev-snyk-upgrade-ccefc733344eb56b92569ed3f15becbb
- dev-snyk-upgrade-79bd26da0ce8daff9798736339cc1b43
- dev-snyk-upgrade-5f66347641357ce333de56ca5e01ecac
- dev-snyk-upgrade-8f50ed61c05526c86af518210403af84
- dev-snyk-upgrade-3b4488d68e6ddcae95d3d5066a5221e7
- dev-4.x-demo
This package is auto-updated.
Last update: 2022-09-27 10:40:21 UTC
README
版本
目前有1个主要版本:4。Open Y 9.2.10.0之前的版本有^3.1 || ^4.0
版本约束,允许您根据项目需求选择要使用的版本。
弃用
过时的实现不会立即删除,允许您更新项目并将迁移到新组件,而不会破坏网站页面。它们将在下一个版本中用[弃用]
通知标记,并计划在未来的版本中删除。
新项目
所有新项目都应该获取最新的Open Y活动搜索器版本。
现有项目
您可以选择保留当前版本或更新到下一个版本。这取决于您的项目需求和定制。如果您有资源,我们建议更新到最新版本。
从3.x版本更新到4.x版本
活动搜索器是一个复杂的功能,它连接了许多不同的组件,可能需要额外的步骤才能使其正常工作。以下列表概述了将活动搜索器更新到4版本的步骤。
- 使用Composer命令更新代码库:
composer require ymcatwincities/openy_activity_finder:"^4.0"
- 运行数据库更新
drush -y updb
- 验证没有错误并且更新顺利
- 安装新的“Open Y段落活动搜索器”模块,机器名称:
openy_prgf_activity_finder_4
:drush en openy_prgf_activity_finder_4
- 创建新的或更新现有的带有活动搜索器的着陆页
- 添加活动搜索器段落(替换已弃用的段落),配置它并保存页面
- 验证页面和活动搜索器功能正常工作
- 先前版本的活动搜索器使用了2个着陆页和2种段落类型——一个用于向导,另一个用于结果——找到并删除这些页面
- 卸载“OpenY段落活动搜索器”模块,机器名称:
openy_prgf_activity_finder
- 卸载“OpenY段落活动搜索器搜索”模块,机器名称:
openy_paragraph_activity_finder_search
活动搜索器块选项
标题
一个文本字段,用于显示在AF块的顶部横幅上显示的文本
按类别限制
一个引用字段,您可以从中选择要按这些类别限制结果的类别
按类别排除
一个参考字段,您可以从中选择您不想显示结果的类别
旧版模式
一种特殊模式,用于以AF的前一个版本显示某些数据。
它提供的内容
- 禁用结果屏幕上的书签功能
- 不在活动结果卡片中显示年龄指示器
- 更改“天+时间”向导步骤。我们可以显示星期的天数,但不能显示每天的时间(不支持DaysTimes过滤器)
隐藏主页分支信息块
- 您只需隐藏与主页分支功能相关的块(链接到主页分支的结果和该分支的结果计数)
背景图像
- 一个图像字段,用于上传AF块顶部横幅的背景图像
使用Daxko后端的限制
- 我们无法在起始屏幕上使用主页分支功能
- 我们必须使用旧版模式
- 我们无法在年龄向导步骤中显示每个年龄的结果计数
- 用户点击活动详情之前,我们无法显示每个活动的可用名额计数
- 结果页面上页码有限。我们只能显示上一页和下一页链接,并且不能显示页数
受信任的重定向主机模式
活动查找器具有跟踪重定向到第三方系统的功能。为了控制要重定向到的URL,您应使用受信任的主机模式。此功能的工作方式类似于Drupal核心的trusted_host_patterns设置。
示例 - 将此部分添加到settings.php
// Trusted hosts to redirect to for Activity Finder.
$settings['activity_finder_trusted_redirect_host_patterns'] = [
'^apm\.activecommunities\.com$',
];
还建议在robots.txt中禁止这些路径
# Activity Finder redirects
Disallow: /af/register-redirect/
Disallow: /index.php/af/register-redirect/
开发
如何在活动查找器中覆盖processResults
请参阅openy_activity_finder.api.php
/** * Implements hook_activity_finder_program_process_results_alter(). */ function custom_module_activity_finder_program_process_results_alter(&$data, NodeInterface $entity) { // Get formatted session data from some custom service. $formatted_session = \Drupal::service('ymca_class_page.data_provider') ->formatSessions([$entity], FALSE); $formatted_session = reset($formatted_session); // Fix pricing according to YMCA price customization. $data['price'] = ''; if (!empty($formatted_session['prices'])) { foreach ($formatted_session['prices'] as $price) { $data['price'] .= implode(' ', $price) . '<br>'; } } // Fix availability and registration according to YMCA customization. $messages = [ 'begun' => t('This class has begun.'), 'will_open' => t('Registration for this class opens shortly. Please check back.'), 'inperson' => t('Online registration is closed. Visit a YMCA branch to register.'), 'included_in_membership' => t('Included in Membership'), ]; if (isset($messages[$formatted_session['reg_state']])) { $data['availability_note'] = $messages[$formatted_session['reg_state']]; } }
如何将外部功能添加到分析事件
请参阅openy_af4_vue_app/main.js
// Listen to a custom event to pass events in Google Analytics. document.addEventListener('openy_activity_finder_event', (e) => { const { action, label, value, category } = e.detail if (window.gtag) { window.gtag('event', action, { event_category: category, event_label: label, value: value }) } else if (window.ga) { window.ga('send', 'event', category, action, label, value) } })
自定义事件的示例
document.addEventListener('openy_activity_finder_event', (e) => { const { action, label, value, category } = e.detail // Properties you can use for analitics. ... { your_functionality } ... })
在结果之间添加自定义组件
它为开发者在结果渲染方面提供了灵活性
<ResultsList
:results="data.table"
:ages="ages"
:selected-ages="selectedAges"
:legacy-mode="legacyMode"
:disable-spots-available="disableSpotsAvailable"
@showActivityDetailsModal="showActivityDetailsModal($event)"
/>
可以更改为以下内容
<ResultsList
:results="data.table.slice(0, 2)"
:ages="ages"
:selected-ages="selectedAges"
:legacy-mode="legacyMode"
:disable-spots-available="disableSpotsAvailable"
@showActivityDetailsModal="showActivityDetailsModal($event)"
/>
<YGBWAds />
<ResultsList
:results="data.table.slice(2)"
:ages="ages"
:selected-ages="selectedAges"
:legacy-mode="legacyMode"
:disable-spots-available="disableSpotsAvailable"
@showActivityDetailsModal="showActivityDetailsModal($event)"
/>
其中YGBWAds是自定义组件,用于在结果之间渲染自定义内容。请参阅#148