ehaerer / paste-reference
Paste reference instead of copy for content elements in TYPO3
Installs: 140 342
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 10
Forks: 22
Type:typo3-cms-extension
Requires
- php: ^8.1
- typo3/cms-backend: ^12.4
- typo3/cms-core: ^12.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.31
- friendsofphp/php-cs-fixer: ^3.64.0
- phpstan/phpstan: ^1.12.5
- phpstan/phpstan-phpunit: ^1.4.0
- phpunit/phpunit: ^10.5.35
- typo3/cms-adminpanel: ^12.4
- typo3/cms-belog: ^12.4
- typo3/cms-beuser: ^12.4
- typo3/cms-dashboard: ^12.4
- typo3/cms-extbase: ^12.4
- typo3/cms-extensionmanager: ^12.4
- typo3/cms-filelist: ^12.4
- typo3/cms-fluid: ^12.4
- typo3/cms-fluid-styled-content: ^12.4
- typo3/cms-form: ^12.4
- typo3/cms-frontend: ^12.4
- typo3/cms-info: ^12.4
- typo3/cms-install: ^12.4
- typo3/cms-lowlevel: ^12.4
- typo3/cms-opendocs: ^12.4
- typo3/cms-recycler: ^12.4
- typo3/cms-redirects: ^12.4
- typo3/cms-reports: ^12.4
- typo3/cms-rte-ckeditor: ^12.4
- typo3/cms-scheduler: ^12.4
- typo3/cms-seo: ^12.4
- typo3/cms-setup: ^12.4
- typo3/cms-styleguide: ^12.0.5
- typo3/cms-tstemplate: ^12.4
- typo3/cms-viewpage: ^12.4
- typo3/cms-workspaces: ^12.4
- typo3/testing-framework: ^8.2.2
Conflicts
This package is auto-updated.
Last update: 2024-10-25 18:36:57 UTC
README
This extension brings the extracted functions from gridelements to copy and paste content elements also as reference and not only as copy. A lot of TYPO3 users love these features but don't know that this aren't core features.
1 Features
- Copy content elements and paste as reference (also in context menu with right click)
- Copy content elements from other pages in page module
- Full documentation in TYPO3 TER
2 Usage
2.1 Installation
Installation using Composer
The recommended way to install the extension is using Composer.
Run the following command within your Composer based TYPO3 project:
composer require ehaerer/paste-reference
Installation as extension from TYPO3 Extension Repository (TER) - not recommended
Download and install the extension with the extension manager module.
2.2 Minimal setup
- Just install the extension and you are done
3 Report issues
Please report issue directly in the issue tracker in the Github repository.
4 Administration corner
4.1 Settings in extension configuration
- disableCopyFromPageButton - You can disable the "copy from page button" in the page module if you don't need it.
4.2 Changelog
Please look into the official extension documentation in changelog chapter.
4.3 Release Management
Paste reference uses semantic versioning, which means, that
- bugfix updates (e.g. 1.0.0 => 1.0.1) just includes small bugfixes or security relevant stuff without breaking changes,
- minor updates (e.g. 1.0.0 => 1.1.0) includes new features and smaller tasks without breaking changes,
- and major updates (e.g. 1.0.0 => 2.0.0) breaking changes wich can be refactorings, features or bugfixes.
4.4 Contribution
Pull Requests are gladly welcome! Nevertheless please don't forget to add an issue and connect it to your pull requests. This is very helpful to understand what kind of issue the PR is going to solve.
Bugfixes: Please describe what kind of bug your fix solve and give us feedback how to reproduce the issue. We're going to accept only bugfixes if we can reproduce the issue.
Features: Not every feature is relevant for the bulk of paste_reference
users. In addition: We don't want to make paste_reference
even more complicated in usability for an edge case feature. It helps to have a discussion about a new feature before you open a pull request.
5 Local development
5.1 Overview
This repository contains a so-called Extension for the TYPO3 CMS which cannot be used on its
own but has been prepared to install required dependency to provide a TYPO3 v12 composer based installation within the
untracked .Build/
folder with .Build/public/
being the doc-root to point a web-server on.
For simpler onboarding a generic ddev project configuration is included to quickstart a local TYPO3 v12 instance in a predefined environment along with data set. See 5.2 for how to use ddev.
5.2 Use ddev to setup a local development instance
Please ensure to have the pre-requisit ddev and docker/colima/... installed and working to follow this section.
5.2.1 Single command start-up
ddev start \ && ddev composer install \ && ddev restart \ && ddev typo3 setup \ --driver=mysqli \ --host=db \ --port=3306 \ --dbname=db \ --username=db \ --password=db \ --admin-username=john-doe \ --admin-user-password='John-Doe-1701D.' \ --admin-email="john.doe@example.com" \ --project-name='ext-paste-reference' \ --no-interaction \ --server-type=apache \ --force \ && ddev restart \ && ddev typo3 cache:warmup \ && ddev typo3 styleguide:generate --create all \ && ddev typo3 cache:warmup \ && ddev launch /typo3/
which creates a instance with two different hidden page trees and a admin user without asking for it.
Adjust the --admin-*
arguments to match your needs.
5.2.2 Splittet startup commands
First startup and composer package installation
ddev start \ && ddev composer install \ && ddev restart
Setup TYPO3 using typo3 setup command
Note that the following command is interactive and asks for admin user credential, name and email. Ensure to remember the values you enter here for later login into the TYPO3 backend.
ddev typo3 setup \
--driver=mysqli \
--host=db \
--port=3306 \
--dbname=db \
--username=db \
--password=db \
--server-type=apache \
--force \
&& ddev restart
Use EXT:styleguide
to create page trees
ddev typo3 styleguide:generate --create all \
&& ddev typo3 cache:warmup
Launch the backend login form
ddev launch /typo3/
5.2.3 Stop & destroy ddev instance
Simply stop ddev instance
ddev stop
Completely remove ddev instance
ddev stop -ROU
5.3 Render documentation
To render the documentation, the TYPO3 Documentation render-guides image can be used,
which is included in the Build/Scripts/runTests.sh
dispatcher script.
Render documentation
Build/Scripts/runTests.sh -s renderDocumentation
Open rendered documentation (Linux>
Build/Scripts/runTests.sh -s renderDocumentation
xdg-open "Documentation-GENERATED-temp/Index.html"
Open rendered documentation (MacOS)
Build/Scripts/runTests.sh -s renderDocumentation
open "Documentation-GENERATED-temp/Index.html"
Open rendered documentation (Windows)
Build/Scripts/runTests.sh -s renderDocumentation
start "Documentation-GENERATED-temp/Index.html"