{"id":20961770,"url":"https://github.com/heimrichhannot/contao-formhybrid_list","last_synced_at":"2026-03-11T09:08:52.944Z","repository":{"id":58862790,"uuid":"43291406","full_name":"heimrichhannot/contao-formhybrid_list","owner":"heimrichhannot","description":"A generic list module using formhybrid for filtering.","archived":false,"fork":false,"pushed_at":"2023-02-21T09:24:39.000Z","size":609,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-08-05T07:39:20.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heimrichhannot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-09-28T09:16:08.000Z","updated_at":"2022-01-20T14:54:00.000Z","dependencies_parsed_at":"2025-05-14T07:34:56.637Z","dependency_job_id":"507723cb-192d-4e6c-940b-5ae1e4b680ae","html_url":"https://github.com/heimrichhannot/contao-formhybrid_list","commit_stats":null,"previous_names":[],"tags_count":187,"template":false,"template_full_name":null,"purl":"pkg:github/heimrichhannot/contao-formhybrid_list","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-formhybrid_list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-formhybrid_list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-formhybrid_list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-formhybrid_list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heimrichhannot","download_url":"https://codeload.github.com/heimrichhannot/contao-formhybrid_list/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heimrichhannot%2Fcontao-formhybrid_list/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231437,"owners_count":25245585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T02:16:52.600Z","updated_at":"2025-10-31T14:31:26.982Z","avatar_url":"https://github.com/heimrichhannot.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Formhybrid List\n\nContains a list and a reader module in a generic flavor. The modules can display and process all kinds of contao entities containing filtering, pagination, modal handling, ...\n\nIf additional functionality is needed, one simply has to inherit from ModuleList or ModuleReader.\n\n-\u003e Click [here](docs/formhybrid.png) for a diagram visualizing the interaction between the modules [formhybrid](https://github.com/heimrichhannot/contao-formhybrid), [formhybrid_list](https://github.com/heimrichhannot/contao-formhybrid_list), [frontendedit](https://github.com/heimrichhannot/contao-frontendedit) and [submissions](https://github.com/heimrichhannot/contao-submissions).\n\n## Features\n\n### List module\n\n- display any contao entity\n- sorting by field or free text\n- pagination (ajax or synchronous)\n- infinite scroll\n- advanced filtering using heimrichhannot/contao-formhybrid\n- defining of default filters\n- detail links with alias support\n- opening instances in modal windows (install heimrichhannot/contao-modal for this)\n- display as table with sortable headers\n- share entities in a list (add the necessary fields to your dca beforehands by using ```FormHybridList::addShareFields()```)\n\n### Reader module\n\n- display any contao entity\n- support for id or alias\n- security handling\n\n## Technical instructions\n\n### Access to data in list item templates\n\nUsually you'll want to override the formybrid_list_item_default.html5 template. Inside this template you have access to the fields of the linked entity using the following techniques:\n\n- $this-\u003esomeField\n- $this-\u003efields (formatted fields)\n- $this-\u003eraw (unformatted fields as stored in the database)\n\n### Example CSS for the masonry\n\n```\n.formhybrid-list {\n    .items {\n        .make-row();\n\n        .item, .stamp-item {\n            .make-xs-column(12);\n            .make-sm-column(6);\n            .make-md-column(4);\n            .make-lg-column(4);\n            margin-bottom: 40px;\n        }\n    }\n}\n```\n\n### Customize list filter processing behavior\n\nJust create a submodule of ModuleList, add the following function and adjust it to your needs (same is possible for customizeDefaultFilters() which are the initial filters).\n\nHint: You can also return multiple values for one field as array.\n\n```\nprotected function customizeFilters(\u0026$strField, \u0026$strColumn, \u0026$varValue, \u0026$blnSkipValue = false)\n{\n    $arrData = $this-\u003eobjFilterForm-\u003egetDca();\n\n    switch ($strField)\n    {\n        case 'startDate':\n            $strColumn = 'startDate \u003e= ?';\n            $varValue = strtotime(str_replace('%', '', $varValue));\n            break;\n        case 'endDate':\n            $strColumn = 'startDate \u003c= ?';\n            $varValue = strtotime(str_replace('%', '', $varValue));\n            break;\n        case 'city':\n            $strColumn = 'city = ?';\n            $varValue = $arrData['fields'][$strField]['options'][$varValue];\n            break;\n        case 'fsonly':\n            if (\\Input::get('fsonly') === '0')\n            {\n                $strColumn = 'pid != 1';\n            }\n            else if (\\Input::get('fsonly') === '1')\n            {\n                $strColumn = 'pid = 1';\n            }\n            break;\n    }\n}\n```\n\n### Modules\n\nName | Description\n---- | -----------\nModuleList | A generic list module able to display all kinds of contao entities containing filtering, pagination, ...\nModuleMemberList | Encapsulates member specific changes overriding ModuleList\nModuleNewsList | Encapsulates news specific changes overriding ModuleList\nModuleReader | A generic reader module able to display all kinds of contao entities\nModuleMemberReader | Encapsulates news specific changes overriding ModuleList\nModuleListFilter | Detached filter that can be placed independently from ModuleList\n\n### Hooks\n\nName | Arguments | Description\n---- | --------- | -----------\nparseItems | $objTemplate, $arrItem, $objModule | Triggered just before FrontendTemplate::parse() is called\n\n### Insert Tags\n\nName | Arguments | Example\n---- | --------- | -------\nfhl_filter_url | page id – the page that contains the list module,\u003cbr\u003emodule id – the formhybrid_list list module -\u003e ModuleList or inheriting class,\u003cbr\u003efilter query – url encoded | {{fhl_filter_url::1::5::city=Dresden\u0026company=Heimrich+%26+Hannot}}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimrichhannot%2Fcontao-formhybrid_list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheimrichhannot%2Fcontao-formhybrid_list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheimrichhannot%2Fcontao-formhybrid_list/lists"}