Download the PHP package crispframe/agency-theme without Composer
On this page you can find all versions of the php package crispframe/agency-theme. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download crispframe/agency-theme
More information about crispframe/agency-theme
Files in crispframe/agency-theme
Package agency-theme
Short Description Reusable corporate site package for TYPO3 13.4 and 14.3 LTS
License GPL-2.0-or-later
Homepage https://github.com/PhantomPixelDev/crispframe-agency-theme
Informations about the package agency-theme
Crispframe Agency Theme for TYPO3
Crispframe is a reusable, open-source TYPO3 sitepackage for modern corporate, agency, services, product, and organization websites. It supports TYPO3 13.4 and 14.3 LTS, PHP 8.2+, English and German, responsive Content Blocks, configurable visual palettes, accessible interactions, SEO defaults, and a TYPO3 Form Framework contact form.
The theme is intentionally safe to install into an existing project: it provides templates, Site Sets, Content Blocks, styles, icons, and integrations, but does not import demo pages or overwrite site-specific content. New TYPO3 14 starter sites can add the optional bilingual demo package when they need example content.
Keywords: TYPO3 sitepackage, TYPO3 theme, corporate website template, agency website, TYPO3 Content Blocks, TYPO3 14, TYPO3 13, bilingual TYPO3, German TYPO3, accessible website template, Composer TYPO3 extension.
Contents
- Preview
- Features
- Installation
- Requirements
- Visual customization
- SEO and publishing
- Documentation
Preview
| Mobile homepage | Editable pricing block |
|---|---|
| Work page | Contact page |
|---|---|
| Insights page and automatic article teasers | Resources with keyboard-friendly tabs and curated links |
|---|---|
| Services page | About page |
|---|---|
These screenshots show the optional demo package. Its branding, copy, photos, and prices are examples that you can edit in TYPO3.
Features
- 24 Content Blocks: hero, intro, text/image, features, services, stats, logos, testimonials, projects, team, FAQ, CTA, contact, process, pricing, video, gallery, comparison, timeline, child page teasers, tabs, pull quote, resource list, and author card.
- Site settings: branding, contact details, navigation and footer links, CTAs, content width, typography, corners, spacing, sticky header, and ocean/forest/plum/ember palettes.
- Publishing basics: responsive PageView layouts, a branded 404, SEO metadata and structured data, language switcher, keyboard-friendly interactions, and reduced-motion support.
- Icon choices: a curated, locally bundled Lucide selection for services and features, presented in large editorial card surfaces, plus custom SVG upload. Existing icon identifiers remain available; no icon CDN or JavaScript package is needed at runtime.
- Visual system: a locally bundled Plus Jakarta Sans variable font, four palette presets, expressive/standard type scales, compact/airy spacing, narrow/default/wide content widths, and sharp/round corner settings. The font is licensed under the SIL Open Font License; see
Resources/Public/Fonts/OFL-PlusJakartaSans.txt. - Contact form: TYPO3 Form Framework definition with editable recipient overrides. Mail transport and real addresses are set by the site owner.
Installation
In a TYPO3 13.4.15+ or 14.3.7+ Composer project, install the theme from Packagist:
Add the Crispframe Agency Theme Site Set under Admin → Site Management → Sites → Your site → Sets. Then follow the first-run checklist to set branding, contact recipients, legal links, and SEO details.
For a new empty site, the starter project and optional demo package provide an editable English/German page tree with examples of every block:
The demo uses TYPO3's initialisation mechanism and should be installed only on a fresh site. The theme alone installs without example pages or site-specific configuration.
Requirements
- TYPO3 13.4.15+ or 14.3.7+ (core, form, fluid-styled-content, rte-ckeditor)
- PHP 8.2+
friendsoftypo3/content-blocks^1.6 on TYPO3 13 or ^2.4 on TYPO3 14
Composer installs these extensions automatically through this package's requirements. ext_emconf.php declares the same required extensions for classic TYPO3 installations.
The Site Set includes TYPO3's Form Framework and SEO sitemap sets (typo3/form, typo3/seo-sitemap). Create your own site configuration with its base URL, root page, and languages. See the page recipes for services, product, and organization layouts.
Visual customization
The visual layer is designed to be adjusted from Site Settings without changing block markup. Choose ocean, forest, plum, or ember for the palette; standard or expressive for the type scale; compact, default, or wide for content width; sharp, default, or round for corners; and compact, default, or airy for section rhythm. The default values preserve the Crispframe editorial layout. The bundled Plus Jakarta Sans font is self-hosted and includes German characters, so production sites do not need an external font request.
For maintainers, Accessibility.md records the automated scope and launch checks.
Contact form
The package includes Resources/Private/Forms/Contact.form.yaml. On a Contact page, add a Form content element and select Contact inquiry. The form ships with name, optional company, email and message fields, validation, email delivery and a confirmation message.
Before accepting live inquiries, edit the Form content element's finisher overrides: set the receiver address and sender address to addresses for your own domain. The bundled example.invalid addresses are safe placeholders. Configure TYPO3's mail transport for your installation; the demo can use Mailpit. The form definition remains read-only inside the extension, so an update cannot overwrite site-specific form content or finisher overrides. The Contact Content Block displays address and phone details; it is independent of the form.
Site Set activation
The Site Set lives at Configuration/Sets/SitePackage/:
config.yaml— setcrispframe/agency-theme, depends ontypo3/fluid-styled-content,typo3/form,typo3/seo-sitemapsettings.definitions.yaml/settings.yaml— brand, contact, social, footer (footer.servicesParent— page picker that retains existing stored UIDs; 0 disables Services column), CTA page pickers and legacy URLs, style presetssetup.typoscript— PageView paths, rendering (Default/Landing/Minimal), menus (menuMain,menuServicesviafooter.servicesParent,breadcrumbrootline), meta fallbacks (description ← page field → brand tagline → company name,og:site_name← company name,og:typewebsite,twitter:cardsummary,theme-color#0f172a), Form + SEO canonical/sitemap viatypo3/seo-sitemappage.tsconfig— backend layouts (Default, Landing hero+main, Minimal), RTE preset, wizard
All brand/URL data comes from Site Settings — no hardcoded company URLs or page UIDs. Canonical URLs are provided by typo3/seo (no hand-rolled canonical). XML sitemap is available via the seo site set (see Documentation/SeoSetup.md).
Dev workflow
No build step. Edit and reload:
- CSS:
Resources/Public/Css/— tokens, base, layout, components, utilities, theme presets, form, block and visual refresh styles (loaded by the PageView layout) - JS:
Resources/Public/JavaScript/—main.js(nav, skip-link, year, sticky),accordion.js,pricing.js,video.js,gallery.jsandtabs.js - Icons:
Resources/Public/Icons/sprite.svg— referenced through TYPO3's public asset URL by the icon partial - Fluid:
Resources/Private/PageView/{Layouts,Pages,Partials/}— layoutsDefault/Landing/Minimal, partialsSite/Header,Site/Navigation,Site/Footer,Components/*
Clear caches after TypoScript or settings changes: vendor/bin/typo3 cache:flush.
Directory tree
Content Block editing
Each block is a Content Block (crispframe/*) with config.yaml fields:
- Common:
sectionSpacing(small/default/large),sectionBackground(default/subtle/dark/brand),width(narrow/default/wide/full) - Hero:
eyebrow,headline,subheadline,primaryLink/secondaryLink,image,isHero(check only on first hero for single h1) - Collections:
services,feature-grid,stats,logo-cloud,projects,team,testimonials,faq,process,pricing— editor-controlled items, titles and copy - Services and feature cards: choose a bundled icon or upload an SVG per item. Uploaded artwork takes precedence; leave both fields empty for no icon.
- Pricing: add 2–4 tiers with monthly and yearly prices, features and CTA links. The monthly price is visible without JavaScript; the yearly toggle appears when JavaScript is available. Enter display prices and suffixes explicitly, including currency and billing interval. Enable Hide billing suffix on quote-based tiers.
- Video: choose YouTube or Vimeo, enter the video ID, and optionally add a local 16:9 poster, caption and plain-text transcript. The external iframe is created only when a visitor clicks Play. Embed playback still uses the provider's own privacy and cookie behavior; configure consent for your deployment as needed.
- Gallery: add 2–12 images with captions and meaningful alternative text. Thumbnails link to the image when JavaScript is unavailable; the lightbox supports Escape, arrow keys and focus return.
- Accessibility: headings are h2; cards use h3; images have
alt+loading/decoding+ width/height; FAQ uses nativedetails/summary
See Documentation/HomepageDemo.md for a complete homepage order with realistic copy.
Theme settings
Site Settings → Crispframe Agency Theme:
- Brand:
brand.companyName,brand.tagline,brand.logo(file),brand.logoAlt - Contact:
contact.email,contact.phone,contact.address - Social:
social.linkedin,social.github,social.x,social.instagram,social.youtube(link, placeholder#) - Footer:
footer.text,footer.legalLink,footer.privacyLink,footer.servicesParent(int UID, 0 = disabled — children of this page populate the Services column; hidden when 0),footer.showCta,footer.ctaHeading,footer.ctaText - CTA:
cta.primaryLabel/cta.primaryLink,cta.secondaryLabel/cta.secondaryLink - Styles:
styles.palette(ocean/forest/plum/ember),styles.contentWidth(compact/standard/wide),styles.typeScale(standard/expressive),styles.corners(sharp/soft/round),styles.spacing(compact/balanced/airy),styles.stickyHeader(on/off) - Header CTA:
cta.showHeader(on/off), pluscta.primaryLabelandcta.primaryLink
In Fluid: {site.settings.brand.companyName}, {site.settings.contact.email}, etc. Menu comes from pageview MenuProcessor as {menuMain} (levels 2). Footer Services column uses {menuServices} sourced from footer.servicesParent. Breadcrumbs use {breadcrumb} (rootline 0|-1) rendered via Components/Breadcrumb on Default/Minimal pages.
SEO baseline
- Meta:
setup.typoscriptpage.metaemitsdescription(page field → tagline → company name),og:site_name(company name),og:typewebsite,twitter:cardsummary,theme-color#0f172a,viewport. Pageseo_title/og_image/twitter_*fields fromtypo3/seoare rendered by the core MetaTagGenerator. No marketing copy is hardcoded. - Canonical: provided by
typo3/seoCanonicalGenerator (no manual<link rel="canonical">). Respectspages.canonical_linkandno_index. - Sitemap:
typo3/seoXML sitemap at?type=1533906435/sitemap.xml(route via site config). Enable the SEO Sitemap site set or ensuretypo3/seo-sitemapis in your site set dependencies (this theme already depends on it). SeeDocumentation/SeoSetup.mdfor route/robots notes. - JSON-LD:
Layouts/Default.htmlemitsOrganization(name, url, email, telephone, address, sameAs) guarded bycompanyNamewith empty-safe skips and JS-escaped values.ContentBlocks/faqemitsFAQPagefrom its items.Partials/Components/Breadcrumb.htmlemitsBreadcrumbListwhenever breadcrumbs render. All scripts aref:ifguarded to avoid empty blocks. - Robots / hreflang: the theme includes a language menu and English/German labels; configure language bases,
robots.txtand hreflang in your site's configuration. The optional starter includes/de/. SeeDocumentation/SeoSetup.md.
SEO and publishing
Crispframe includes a practical SEO foundation for TYPO3 integrators:
- Canonical URLs, page descriptions, Open Graph, Twitter cards, theme color, and viewport metadata.
- Organization, FAQPage, and BreadcrumbList JSON-LD with empty-safe fallbacks.
- XML sitemap support through TYPO3 SEO Sitemap.
- English/German language navigation and hreflang-ready site configuration.
- Editable page SEO titles, descriptions, social images, and alternative text.
- No hardcoded agency domain, company name, contact address, or production credentials.
Use SeoSetup.md for sitemap, robots, language, and canonical configuration before launch.
Documentation
- First-run checklist — branding, navigation, mail transport, legal links, SEO, and publishing.
- Page recipes — services, product, organization, Insights, Resources, and Article layouts.
- Accessibility checks — automated and manual launch checks.
- SEO setup — sitemap, robots, canonical, and hreflang setup.
- Release procedure — clean installs, CI, package tags, and Packagist publication.
No build step
- No npm or bundler is required at runtime.
- Fonts, icons, CSS, and JavaScript are bundled locally; there are no external font or icon CDN requests.
- System fonts via
tokens.css(--font-sans/--font-mono). - BEM-lite class names, CSS custom properties for theming.
- JS is vanilla and defer-safe.
Contribution
- Branch from
main, keep changes minimal and BEM-lite consistent. - Do not hardcode URLs/UIDs; use site settings or
#//placeholders. - Preserve h1-once, h2/h3 hierarchy,
aria-*on nav/mobile,loading/decodingon images,prefers-reduced-motionand:focus-visible. - Verify:
vendor/bin/typo3 content-blocks:lint,node --checkon JS, CSS total < 65 KB, noTODO/loremplaceholders and no upload-path hardcodes.
License
GPL-2.0-or-later.
All versions of agency-theme with dependencies
typo3/cms-core Version ^13.4.15 || ^14.3.7
typo3/cms-form Version ^13.4.15 || ^14.3.7
typo3/cms-frontend Version ^13.4.15 || ^14.3.7
typo3/cms-fluid-styled-content Version ^13.4.15 || ^14.3.7
typo3/cms-rte-ckeditor Version ^13.4.15 || ^14.3.7
typo3/cms-seo Version ^13.4.15 || ^14.3.7