feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run

- Base: wintercms/winter branch 1.2 (full framework)
- Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS
- Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication
- Partials: hero (offline-first), features, modes (offline/nube toggle),
  screenshots, pricing (3 planes), comparison, FAQ, CTA
- Plugin VivesPOS.Site with ContactForm
- Dockerfile: PHP 8.2 Apache, port 80, healthcheck
- Added winter/wn-pages, blog, sitemap, seo plugins
- Active theme set to vivespos
This commit is contained in:
2026-08-21 19:29:00 -06:00
commit 1f72193a64
3266 changed files with 531480 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<div
id="<?= $this->getId() ?>"
data-control="table"
class="control-table"
data-columns="<?= e(json_encode($columns)) ?>"
data-data="<?= e($data) ?>"
data-alias="<?= e($this->alias) ?>"
data-field-name="<?= e($this->fieldName) ?>"
<?php if (!empty($postbackHandlerName)): ?>
data-postback-handler-name="<?= e($postbackHandlerName) ?>"
<?php endif; ?>
data-adding="<?= e($adding) ?>"
data-searching="<?= e($searching) ?>"
data-deleting="<?= e($deleting) ?>"
data-toolbar="<?= e($toolbar) ?>"
data-height="<?= e($height) ?>"
data-records-per-page="<?= e($recordsPerPage) ?>"
data-key-column="<?= e($recordsKeyFrom) ?>"
data-client-data-source-class="<?= e($clientDataSourceClass) ?>"
data-dynamic-height="<?= e($dynamicHeight) ?>"
>
<script type="text/template" data-table-toolbar>
<div class="toolbar">
<a class="btn table-icon add-table-row-below" data-cmd="record-add">
<?= e($btnAddRowLabel) ?>
</a>
<a class="btn table-icon add-table-row-below" data-cmd="record-add-below">
<?= e($btnAddRowBelowLabel) ?>
</a>
<a class="btn table-icon add-table-row-above" data-cmd="record-add-above">
Add row above
</a>
<a class="btn table-icon delete-table-row" data-cmd="record-delete">
<?= e($btnDeleteRowLabel) ?>
</a>
</div>
</script>
<script type="text/template" data-table-toolbar-search>
<div class="table-search">
<input
placeholder="<?= e(trans('backend::lang.list.search_prompt')) ?>"
name="search"
id="search"
value="<?= e(get('search')); ?>"
type="text"
autocomplete="off"
class="table-search-input form-control icon search" />
</div>
</script>
</div>