feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
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:
41
modules/system/tests/fixtures/plugins/winter/tester/components/Archive.php
vendored
Normal file
41
modules/system/tests/fixtures/plugins/winter/tester/components/Archive.php
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
|
||||
class Archive extends ComponentBase
|
||||
{
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Blog Archive Dummy Component',
|
||||
'description' => 'Displays an archive of blog posts.'
|
||||
];
|
||||
}
|
||||
|
||||
public function defineProperties()
|
||||
{
|
||||
return [
|
||||
'posts-per-page' => [
|
||||
'description' => 'This will set the posts to display per page',
|
||||
'default' => 10
|
||||
],
|
||||
'page-number-param' => [
|
||||
'description' => 'The router parameter for getting the pagination page number',
|
||||
'default' => 'pageNum'
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function posts()
|
||||
{
|
||||
return [
|
||||
['title' => 'Lorum ipsum', 'content' => 'Post Content #1'],
|
||||
['title' => 'La Playa Nudista', 'content' => 'Second Post Content']
|
||||
];
|
||||
}
|
||||
|
||||
public function onTestAjax()
|
||||
{
|
||||
$this->page['var'] = 'page';
|
||||
}
|
||||
}
|
||||
33
modules/system/tests/fixtures/plugins/winter/tester/components/Categories.php
vendored
Normal file
33
modules/system/tests/fixtures/plugins/winter/tester/components/Categories.php
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
use Cms\Classes\CodeBase;
|
||||
|
||||
class Categories extends ComponentBase
|
||||
{
|
||||
public function __construct(?CodeBase $cmsObject = null, $properties = [])
|
||||
{
|
||||
parent::__construct($cmsObject, $properties);
|
||||
}
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Blog Categories Dummy Component',
|
||||
'description' => 'Displays the list of categories in the blog.'
|
||||
];
|
||||
}
|
||||
|
||||
public function posts()
|
||||
{
|
||||
return [
|
||||
['title' => 'Lorum ipsum', 'content' => 'Post Content #1'],
|
||||
['title' => 'La Playa Nudista', 'content' => 'Second Post Content']
|
||||
];
|
||||
}
|
||||
|
||||
public function onTestAjax()
|
||||
{
|
||||
$this->page['var'] = 'page';
|
||||
}
|
||||
}
|
||||
42
modules/system/tests/fixtures/plugins/winter/tester/components/Comments.php
vendored
Normal file
42
modules/system/tests/fixtures/plugins/winter/tester/components/Comments.php
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
use Cms\Classes\CodeBase;
|
||||
use Winter\Tester\Classes\Users;
|
||||
|
||||
class Comments extends ComponentBase
|
||||
{
|
||||
private $users;
|
||||
|
||||
public function __construct(?CodeBase $cmsObject = null, $properties = [], ?Users $users = null)
|
||||
{
|
||||
parent::__construct($cmsObject, $properties);
|
||||
$this->users = $users;
|
||||
}
|
||||
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Blog Comments Dummy Component',
|
||||
'description' => 'Displays the list of comments on a post.'
|
||||
];
|
||||
}
|
||||
|
||||
public function posts()
|
||||
{
|
||||
return [
|
||||
['title' => 'Lorum ipsum', 'content' => 'Post Content #1'],
|
||||
['title' => 'La Playa Nudista', 'content' => 'Second Post Content']
|
||||
];
|
||||
}
|
||||
|
||||
public function onTestAjax()
|
||||
{
|
||||
$this->page['var'] = 'page';
|
||||
}
|
||||
|
||||
public function getUsers()
|
||||
{
|
||||
return $this->users;
|
||||
}
|
||||
}
|
||||
23
modules/system/tests/fixtures/plugins/winter/tester/components/ContentBlock.php
vendored
Normal file
23
modules/system/tests/fixtures/plugins/winter/tester/components/ContentBlock.php
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
|
||||
class ContentBlock extends ComponentBase
|
||||
{
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Content Block Dummy Component',
|
||||
'description' => 'Displays a editable content block.'
|
||||
];
|
||||
}
|
||||
|
||||
public function onRender()
|
||||
{
|
||||
if ($output = $this->property('output')) {
|
||||
return 'Custom output: '.$output;
|
||||
}
|
||||
|
||||
return 'Pass';
|
||||
}
|
||||
}
|
||||
19
modules/system/tests/fixtures/plugins/winter/tester/components/MainMenu.php
vendored
Normal file
19
modules/system/tests/fixtures/plugins/winter/tester/components/MainMenu.php
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
|
||||
class MainMenu extends ComponentBase
|
||||
{
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Menu Dummy Component',
|
||||
'description' => 'Displays a really cool menu.'
|
||||
];
|
||||
}
|
||||
|
||||
public function menuItems()
|
||||
{
|
||||
return ['Home', 'Blog', 'About', 'Contact'];
|
||||
}
|
||||
}
|
||||
24
modules/system/tests/fixtures/plugins/winter/tester/components/Post.php
vendored
Normal file
24
modules/system/tests/fixtures/plugins/winter/tester/components/Post.php
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php namespace Winter\Tester\Components;
|
||||
|
||||
use Cms\Classes\ComponentBase;
|
||||
|
||||
class Post extends ComponentBase
|
||||
{
|
||||
public function componentDetails()
|
||||
{
|
||||
return [
|
||||
'name' => 'Blog Post Dummy Component',
|
||||
'description' => 'Displays a blog post.'
|
||||
];
|
||||
}
|
||||
|
||||
public function defineProperties()
|
||||
{
|
||||
return [
|
||||
'show-featured' => [
|
||||
'description' => 'Display the post featured image or not',
|
||||
'default' => true
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
4
modules/system/tests/fixtures/plugins/winter/tester/components/mainmenu/default.htm
vendored
Normal file
4
modules/system/tests/fixtures/plugins/winter/tester/components/mainmenu/default.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<h4>DEFAULT MARKUP: Menu</h4>
|
||||
<ul>
|
||||
{% partial __SELF__ ~ "::items" items=__SELF__.menuItems %}
|
||||
</ul>
|
||||
3
modules/system/tests/fixtures/plugins/winter/tester/components/mainmenu/items.htm
vendored
Normal file
3
modules/system/tests/fixtures/plugins/winter/tester/components/mainmenu/items.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{% for item in items %}
|
||||
<li>DEFAULT: {{ item }}</li>
|
||||
{% endfor %}
|
||||
1
modules/system/tests/fixtures/plugins/winter/tester/components/post/default.htm
vendored
Normal file
1
modules/system/tests/fixtures/plugins/winter/tester/components/post/default.htm
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<p>DEFAULT MARKUP: I am a post yay</p>
|
||||
Reference in New Issue
Block a user