{"id":19114853,"url":"https://github.com/namelesscoder/newsflux","last_synced_at":"2025-07-17T02:33:26.214Z","repository":{"id":57023488,"uuid":"68050000","full_name":"NamelessCoder/newsflux","owner":"NamelessCoder","description":"Flux API integration for EXT:news templates","archived":false,"fork":false,"pushed_at":"2016-09-12T21:49:48.000Z","size":5,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-18T03:52:43.439Z","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/NamelessCoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-12T21:32:01.000Z","updated_at":"2019-03-13T17:50:07.000Z","dependencies_parsed_at":"2022-08-23T13:50:23.098Z","dependency_job_id":null,"html_url":"https://github.com/NamelessCoder/newsflux","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NamelessCoder%2Fnewsflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NamelessCoder%2Fnewsflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NamelessCoder%2Fnewsflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NamelessCoder%2Fnewsflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NamelessCoder","download_url":"https://codeload.github.com/NamelessCoder/newsflux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240170106,"owners_count":19759145,"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","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-09T04:44:43.374Z","updated_at":"2025-02-22T12:13:23.526Z","avatar_url":"https://github.com/NamelessCoder.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"TYPO3 Extension: Flux forms for EXT:news\n========================================\n\nProvides Flux forms integrations for EXT:news - allows defining `\u003cflux:form\u003e` in an EXT:news controller\ntemplate to add/modify the FlexForm used by EXT:news.\n\nWhat does it do?\n----------------\n\nIn essence: puts the definitions of form fields your editors use when inserting EXT:news plugin instances,\ninto the template that is rendered by the controller. Ideal when your overridden EXT:news templates need\nadditional user-configurable options which are not part of the default EXT:news FlexForm - lets you define\nsuch form fields directly in the template that requires such values.\n\nThe integration is built using standard Flux integrations with minimal adaptations in key places.\nIt consists of a single class file (around 25 lines of code) and one line of code to register this class,\nwhich is all that is necessary to connect Flux to EXT:news.\n\nInstallation\n------------\n\nThis extension is only available through composer/Packagist:\n\n```\ncomposer require namelesscoder/newsflux\n```\n\nAfterwards, either execute:\n\n```\n./typo3/cli_dispatch.phpsh extbase extension:install newsflux\n```\n\nOr, activate the extension in the Extension Manager.\n\nThere are no other officially supported installation methods.\n\nConfiguration\n-------------\n\nThere is no configuration for this extension. The integrations only trigger if you actually define a form\nin the templates you override from EXT:news and this form will contain all your configuration.\n\nTo consume TypoScript variables in your form such variables *must be addded to the `plugin.tx_news.settings`\nscope - which is already where you would define variables you would use as `{settings}` in your EXT:news\ntemplates, including additional variables beyond those EXT:news defines.\n\nHow to use the feature\n----------------------\n\nThe integration works by making a connection between the template file that would be rendered by the plugin\ninstance and the form that is displayed in the \"Plugin options\" FlexForm field - which then allows Flux to\nread a `flux:form` if one is defined in the template.\n\nThis means that your point of integration is *your overridden templates* which you added to the template\npaths of EXT:news just like you normally would. This **also** means that you *must override the controller\ntemplate if for example you need the variable in a Partial template rendered via that controller action*.\nIn other words: you cannot define a `flux:form` in a Partial template or a Layout - it must be in one of\nthe `List.html`, `Detail.html` etc. templates.\n\nOnce the `flux:form` is defined this integration will automatically add the sheets/fields you define inside\nthat `flux:form` to the data structure provided by EXT:news. The merging is done by *recursively replacing*\nany existing fields, e.g. if you define a sheet or field that exists in the default data structure then that\nsheet or field is overridden with the one you define.\n\nExample\n-------\n\nAn example `flux:form` integrated into the `List.html` template to allow selecting a CSS class name:\n\n```html\n{namespace n=GeorgRinger\\News\\ViewHelpers}\n{namespace flux=FluidTYPO3\\Flux\\ViewHelpers}\n\u003cf:layout name=\"General\" /\u003e\n\u003c!--\n\t=====================\n    Templates/News/List.html\n--\u003e\n\n\u003cf:section name=\"Configuration\"\u003e\n\t\u003cflux:form id=\"extended\"\u003e\n\t    \u003cflux:form.sheet name=\"extended\" label=\"Extended fields\"\u003e\n\t\t    \u003cflux:field.select name=\"settings.myCssClass\" label=\"Special CSS class\"\n\t\t                       items=\"normal,special,awesome\" /\u003e\n        \u003c/flux:form.sheet\u003e\n\t\u003c/flux:form\u003e\n\u003c/f:section\u003e\n\n\u003cf:section name=\"content\"\u003e\n    \u003cdiv class=\"{settings.myCssClass}\"\u003e\n        ...\n    \u003c/div\u003e\n\u003c/f:section\u003e\n```\n\nTo briefly explain this template:\n\n* The `Configuration` section is added to an overridden template\n* `Configuration` section has a `flux:form` is added which has a single sheet named/labeled \"Extended fields\"\n* The variable editors will enter in this field can then be used in the standard output section\n\nAll features known from the Flux ViewHelper API can be used and will behave in the same way you are used to\nfrom extensions such as `fluidcontent` and `fluidpages`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamelesscoder%2Fnewsflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamelesscoder%2Fnewsflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamelesscoder%2Fnewsflux/lists"}