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:
0
themes/demo/partials/.gitkeep
Normal file
0
themes/demo/partials/.gitkeep
Normal file
9
themes/demo/partials/calcresult.htm
Normal file
9
themes/demo/partials/calcresult.htm
Normal file
@@ -0,0 +1,9 @@
|
||||
{% if result %}
|
||||
<span class="lead">
|
||||
The result is <span class="label label-success">{{ result }}</span>
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="text-muted">
|
||||
Click the <em>Calculate</em> button to find the answer.
|
||||
</span>
|
||||
{% endif %}
|
||||
65
themes/demo/partials/explain/ajax.htm
Normal file
65
themes/demo/partials/explain/ajax.htm
Normal file
@@ -0,0 +1,65 @@
|
||||
<hr />
|
||||
|
||||
<!-- This file is an explanation of the AJAX page -->
|
||||
|
||||
<p class="lead">
|
||||
<i class="icon-copy"></i> The HTML markup for this example:
|
||||
</p>
|
||||
|
||||
<pre>{% apply escape %}<!-- The form -->
|
||||
<form role="form" data-request="onTest" data-request-update="calcresult: '#result'">
|
||||
<input type="text" value="15" name="value1">
|
||||
<select name="operation">
|
||||
<option>+</option>
|
||||
<option>-</option>
|
||||
<option>*</option>
|
||||
<option>/</option>
|
||||
</select>
|
||||
<input type="text" value="5" name="value2">
|
||||
<button type="submit">Calculate</button>
|
||||
</form>
|
||||
|
||||
<!-- The result -->
|
||||
<div id="result">{{ "{% partial \"calcresult\" %}" }}</div>
|
||||
{% endapply %}</pre>
|
||||
|
||||
<hr />
|
||||
|
||||
<p class="lead">
|
||||
<i class="icon-tags"></i> The <code>calcresult</code> partial:
|
||||
</p>
|
||||
|
||||
<pre>{% apply escape %}
|
||||
{{ "{% if result %}" }}
|
||||
The result is {{ "{{ result }}" }}.
|
||||
{{ "{% else %}" }}
|
||||
Click the <em>Calculate</em> button to find the answer.
|
||||
{{ "{% endif %}" }}{% endapply %}</pre>
|
||||
|
||||
<hr />
|
||||
|
||||
<p class="lead">
|
||||
<i class="icon-code"></i> The <code>onTest</code> PHP code:
|
||||
</p>
|
||||
|
||||
<pre>function onTest()
|
||||
{
|
||||
$value1 = input('value1');
|
||||
$value2 = input('value2');
|
||||
$operation = input('operation');
|
||||
|
||||
switch ($operation) {
|
||||
case '+' :
|
||||
$this['result'] = $value1 + $value2;
|
||||
break;
|
||||
case '-' :
|
||||
$this['result'] = $value1 - $value2;
|
||||
break;
|
||||
case '*' :
|
||||
$this['result'] = $value1 * $value2;
|
||||
break;
|
||||
default :
|
||||
$this['result'] = $value1 / $value2;
|
||||
break;
|
||||
}
|
||||
}</pre>
|
||||
17
themes/demo/partials/explain/plugins.htm
Normal file
17
themes/demo/partials/explain/plugins.htm
Normal file
@@ -0,0 +1,17 @@
|
||||
<hr />
|
||||
|
||||
<p class="lead">
|
||||
<i class="icon-copy"></i> The HTML markup for this example:
|
||||
</p>
|
||||
<pre>
|
||||
{% apply escape %}
|
||||
{{ "{% component 'demoTodo' %}" }}
|
||||
{% endapply %}</pre>
|
||||
|
||||
<hr />
|
||||
|
||||
<p class="lead">
|
||||
<i class="icon-question"></i> Wait, only one line is needed?
|
||||
</p>
|
||||
<p><em>Yes!</em> unlike the <a href="{{ 'ajax'|page }}">AJAX example</a>, components are simple building blocks that can be used with a small amount of code.</p>
|
||||
<p>The <code>demoTodo</code> component used here is provided by the plugin called <strong>Winter\Demo</strong>, you can find it in the <code>plugins/winter/demo</code> folder.</p>
|
||||
6
themes/demo/partials/site/footer.htm
Normal file
6
themes/demo/partials/site/footer.htm
Normal file
@@ -0,0 +1,6 @@
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<hr />
|
||||
<p class="muted credit">© 2021 - {{ "now" | date("Y") }} <a href="https://wintercms.com" target="_blank">Winter CMS</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
29
themes/demo/partials/site/header.htm
Normal file
29
themes/demo/partials/site/header.htm
Normal file
@@ -0,0 +1,29 @@
|
||||
==
|
||||
function onStart()
|
||||
{
|
||||
$this['backendUrl'] = Backend::url('/');
|
||||
}
|
||||
==
|
||||
<!-- Nav -->
|
||||
<nav id="layout-nav" class="navbar navbar-inverse navbar-fixed-top navbar-autohide" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{ 'home'|page }}">Winter Demo</a>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse navbar-main-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="separator hidden-xs"></li>
|
||||
<li class="{% if this.page.id == 'home' %}active{% endif %}"><a href="{{ 'home'|page }}">Basic concepts</a></li>
|
||||
<li class="{% if this.page.id == 'ajax' %}active{% endif %}"><a href="{{ 'ajax'|page }}">AJAX framework</a></li>
|
||||
<li class="{% if this.page.id == 'plugins' %}active{% endif %}"><a href="{{ 'plugins'|page }}">Plugin components</a></li>
|
||||
<li><a href="{{ backendUrl }}">Sign in to the Backend</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
Reference in New Issue
Block a user