我遇到了一个问题,我找不到任何文档或解决方案。
我创建了一个带有列表和详细 View 的 TYPO3 扩展,一切正常。现在我想在 ListView 上方添加一些输入字段,让站点访问者过滤 ListView 。
这是怎么做到的?我确定我必须在 ListView 上方添加一个流体形式并在 Controller 中处理它?<>
目前我的 Controller 和 Repo 看起来像这样:
Controller :
/**
* EventController
*/
class EventController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* eventRepository
*
* @var \Alroma\DsEventcalendar\Domain\Repository\EventRepository
* @inject
*/
protected $eventRepository = null;
/**
* action list
*
* @return void
*/
public function listAction()
{
$events = $this->eventRepository->findAll();
$this->view->assign('events', $events);
}
/**
* action show
*
* @param \Alroma\DsEventcalendar\Domain\Model\Event $event
* @return void
*/
public function showAction(\Alroma\DsEventcalendar\Domain\Model\Event $event)
{
$this->view->assign('event', $event);
}
/**
* action frontpage
*
* @return void
*/
public function frontpageAction()
{
$events = $this->eventRepository->findAll();
$this->view->assign('events', $events);
}
}
repo :
class EventRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
// Order by BE sorting
protected $defaultOrderings = [
'highlight' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING,
'start' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
];
}
更具体地说: 我希望用户有一个字段,他可以输入一些关键字,我想在我的扩展的“文本”数据库列中搜索它。如果在任何文本中找到关键字,则仅显示适合的文章。日期参数相同。
>
最佳答案
最基本的方法是服务器端过滤:
带有参数“querystring”输入的表单
<f:form action="list">
<f:form.textfield name="querystring" value="" />
</f:form>
在你的行动中获取论据:
if ($this->request->hasArgument('querystring')) {
$querystring = $this->request->getArgument('querystring');
$events = $this->repository->findAll($querystring);
}
过滤存储库中的数据库查询(扩展 findAll 方法或编写新方法):
public function findAll($querystring = '') {
$query = $this->createQuery();
if ($querystring) {
$query->matching(
$query->like('property_to_search_in', '%'.$querystring.'%')
);
}
return $query->execute();
}
关于php - TYPO3:前端插件过滤器/搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55075821/
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
我有一个名为Post的类,我需要能够适应以下场景:如果用户选择了一个类别,则只显示该类别的帖子如果用户选择了一种类型,则只显示该类型的帖子如果用户选择了一个类别和类型,则只显示该类别中该类型的帖子如果用户没有选择任何内容,则显示所有帖子我想知道我的Controller是否不可避免地会因大量条件语句而显得粗糙...这是我解决此问题的错误方法-有谁知道我如何才能做到这一点?classPostsController 最佳答案 您最好遵循“胖模型,瘦Controller”的惯例,这意味着您应该将这种逻辑放在模型本身中。Post类应该能够报告
我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?
您认为可以作为插件很好地存在于您的Rails应用程序中必须实现的哪些行为?您过去曾搜索过哪些插件功能但找不到?哪些现有的Rails插件可以改进或扩展,如何改进或扩展? 最佳答案 我希望在管理界面中看到一个引擎插件,它提供了应用程序中所有模型的仪表板摘要,以及可配置的事件图表。 关于ruby-on-rails-您希望看到哪些Rails插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio
我仍然收到标题中的“错误”消息,但不知道如何解决。在ApplicationController中,classApplicationController在routes.rb#match'set_activity_account/:id/:value'=>'users#account_activity',:as=>:set_activity_account--thisdoesn'tworkaswell..resources:usersdomemberdoget:action_a,:action_bendcollectiondoget'account_activity'endend和User
对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0、1或2)表示。UserActiveAdmin索引页上的过滤器是通过以下代码实现的:filter:booking_status,as::select然而,这会导致下拉选项为0、1或2。当管理员用户从下拉列表中选择它们时,我更愿意自己将它们命名为“未完成”、“待定”和“已确认”之类的名称。有没有办法在不改变booking_status在模型中的表示方式的情况下做到这一点? 最佳答案 假设booking_status是模型中的枚举字段,您可以使用:过滤器:booking
我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com
前言我们习惯用idea编写、调试代码,在LeetCode上刷题时,如果能够在IDEA编写代码,并且做好代码管理,是一件事半功倍的事情。对于后续复习题目,做笔记也会非常便利。本文目的在于介绍LeetCodeEditor的使用,以及配置工具类,最终目录结构如下:note:放置笔记src:放置代码leetcode.editor.cn:插件LeetCodeEditor自动生成utils:自定义的工具包,可用于自动化输入测试用例,定义题目需要的类(结构体)out:运行测试时自动生成LeetCodeEditorGitHub:https://github.com/shuzijun/leetcode-edit