浏览代码

Témoignages producteurs #1112

feature/souke
Guillaume Bourgeois 1年前
父节点
当前提交
39b8aa6034
共有 12 个文件被更改,包括 363 次插入77 次删除
  1. +29
    -7
      backend/views/producer/update.php
  2. +5
    -0
      backend/web/js/vuejs/producer-update.js
  3. +7
    -3
      common/logic/Producer/Producer/Model/Producer.php
  4. +36
    -0
      common/logic/Producer/Producer/Repository/ProducerRepository.php
  5. +12
    -0
      common/logic/Producer/Producer/Repository/ProducerRepositoryQuery.php
  6. +28
    -0
      console/migrations/m230821_061757_producer_add_option_testimony.php
  7. +7
    -2
      frontend/controllers/SiteController.php
  8. +15
    -4
      frontend/views/site/_about_few_numbers.php
  9. +48
    -2
      frontend/views/site/about.php
  10. +101
    -59
      frontend/web/css/screen.css
  11. +30
    -0
      frontend/web/js/frontend.js
  12. +45
    -0
      frontend/web/sass/screen.scss

+ 29
- 7
backend/views/producer/update.php 查看文件

@@ -120,13 +120,6 @@ $this->addBreadcrumb($this->getTitle());
Producer::BEHAVIOR_HOME_POINT_SALE_DAY_LIST_INCOMING_DISTRIBUTIONS => 'Distributions à venir',
]); ?>
<?= $form->field($model, 'option_point_sale_wording') ?>

<h4>Logiciel</h4>
<?= $form->field($model, 'option_display_message_new_opendistrib_version')
->dropDownList([
1 => 'Oui',
0 => 'Non'
], []); ?>
</div>
</div>

@@ -481,6 +474,35 @@ $this->addBreadcrumb($this->getTitle());
->textarea(['rows' => 15]) ?>
</div>
</div>

<div v-show="currentSection == 'software'" class="panel panel-default">
<div class="panel-body">
<h4>Opendistrib</h4>
<?= $form->field($model, 'option_testimony')
->textarea(['rows' => 7])
->hint("Écrivez ici votre témoignage concernant l'utilisation du logiciel. Il sera publié sur la page 'À propos' du site.") ; ?>
<?= $form->field($model, 'option_time_saved')
->dropDownList([
null => '--',
0.5 => '30 minutes',
1 => '1 heure',
2 => '2 heures',
3 => '3 heures',
4 => '4 heures',
5 => '5 heures',
6 => '6 heures',
7 => '7 heures',
8 => '8 heures',
])
->hint("Sélectionnez le temps que vous estimez gagner chaque semaine en utilisant ce logiciel. Cette donnée sera utilisée sur la page 'À propos' du site.") ; ?>
<?= $form->field($model, 'option_display_message_new_opendistrib_version')
->dropDownList([
1 => 'Oui',
0 => 'Non'
], []); ?>
</div>
</div>

<div class="form-group">
<?= Html::submitButton('Mettre à jour', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>

+ 5
- 0
backend/web/js/vuejs/producer-update.js 查看文件

@@ -80,6 +80,11 @@ var app = new Vue({
name: 'logiciels-caisse',
nameDisplay: 'Logiciels de caisse',
isAdminSection: 0
},
{
name: 'software',
nameDisplay: 'Opendistrib',
isAdminSection: 0
}
]
}, window.appInitValues);

+ 7
- 3
common/logic/Producer/Producer/Model/Producer.php 查看文件

@@ -218,7 +218,8 @@ class Producer extends ActiveRecordCommon
'option_tax_calculation_method',
'latest_version_opendistrib',
'option_csv_separator',
'option_point_sale_wording'
'option_point_sale_wording',
'option_testimony'
],
'string'
],
@@ -284,7 +285,8 @@ class Producer extends ActiveRecordCommon
'credit_limit',
'option_billing_permanent_transfer_amount',
'latitude',
'longitude'
'longitude',
'option_time_saved'
], 'double'],
[
'free_price',
@@ -405,7 +407,9 @@ class Producer extends ActiveRecordCommon
'option_billing_permanent_transfer_amount' => 'Virement permanent : montant',
'option_point_sale_wording' => 'Libellé points de vente',
'latitude' => 'Latitude',
'longitude' => 'Longitude'
'longitude' => 'Longitude',
'option_testimony' => 'Témoignage',
'option_time_saved' => 'Temps gagné / semaine',
];
}


+ 36
- 0
common/logic/Producer/Producer/Repository/ProducerRepository.php 查看文件

@@ -299,4 +299,40 @@ class ProducerRepository extends AbstractRepository
{
return $this->createQuery()->find();
}

public function findProducersWithTestimonials(): array
{
return $this->queryProducersActive()
->filterHasOptionTestimony()
->find();
}

public function findProducersWithTimeSaved(): array
{
return $this->queryProducersActive()
->filterHasOptionTimeSaved()
->find();
}

public function countProducersWithTimeSaved(): int
{
return count($this->findProducersWithTimeSaved());
}

public function getTimeSavedByProducersAverage(): int
{
$producersWithTimeSavedArray = $this->findProducersWithTimeSaved();
$countProducersWithOptionTimeSaved = count($producersWithTimeSavedArray);

if($countProducersWithOptionTimeSaved) {
$sumTimeSaved = 0;
foreach($producersWithTimeSavedArray as $producerWithTimeSaved) {
$sumTimeSaved += $producerWithTimeSaved->option_time_saved;
}

return round($sumTimeSaved / $countProducersWithOptionTimeSaved);
}

return 0;
}
}

+ 12
- 0
common/logic/Producer/Producer/Repository/ProducerRepositoryQuery.php 查看文件

@@ -33,4 +33,16 @@ class ProducerRepositoryQuery extends AbstractRepositoryQuery
$this->andWhere('name LIKE \'Démo\'');
return $this;
}

public function filterHasOptionTestimony(): self
{
$this->andWhere('option_testimony IS NOT NULL AND option_testimony != ""');
return $this;
}

public function filterHasOptionTimeSaved(): self
{
$this->andWhere('producer.option_time_saved > 0');
return $this;
}
}

+ 28
- 0
console/migrations/m230821_061757_producer_add_option_testimony.php 查看文件

@@ -0,0 +1,28 @@
<?php

use yii\db\Migration;
use yii\db\Schema;

/**
* Class m230821_061757_producer_add_option_testimony
*/
class m230821_061757_producer_add_option_testimony extends Migration
{
/**
* {@inheritdoc}
*/
public function safeUp()
{
$this->addColumn('producer', 'option_testimony', Schema::TYPE_TEXT);
$this->addColumn('producer', 'option_time_saved', Schema::TYPE_FLOAT);
}

/**
* {@inheritdoc}
*/
public function safeDown()
{
$this->dropColumn('producer', 'option_testimony');
$this->dropColumn('producer', 'option_time_saved');
}
}

+ 7
- 2
frontend/controllers/SiteController.php 查看文件

@@ -169,13 +169,15 @@ class SiteController extends FrontendController

public function actionAbout()
{
$aboutFewNumbers = Yii::$app->cache->getOrSet('about_few_numbers4', function () {
$aboutFewNumbers = Yii::$app->cache->getOrSet('about_few_numbers7', function () {
$producerManager = $this->getProducerManager();
$pointSaleManager = $this->getPointSaleManager();
$userManager = $this->getUserManager();
$orderManager = $this->getOrderManager();

$countProducersActive = $producerManager->countProducersActiveWithTurnover();
$timeSavedByProducersAverage = $producerManager->getTimeSavedByProducersAverage();
$countProducersWithOptionTimeSaved = $producerManager->countProducersWithTimeSaved();
$countPointSalesActive = $pointSaleManager->countPointSalesActiveLastThreeMonths();
$countUsersActive = $userManager->countUsersActiveLastThreeMonths();
$averageOrdersPerDay = $orderManager->countGlobalUserOrdersAverageLastSevenDays();
@@ -189,7 +191,9 @@ class SiteController extends FrontendController
'countUsersActive' => $countUsersActive,
'averageOrdersPerDay' => $averageOrdersPerDay,
'averageTurnover' => $averageTurnover,
'numberVisitsMonth' => $numberVisitsMonth
'numberVisitsMonth' => $numberVisitsMonth,
'timeSavedByProducersAverage' => $timeSavedByProducersAverage,
'countProducersWithOptionTimeSaved' => $countProducersWithOptionTimeSaved
]);
}, 60 * 60 * 24);

@@ -197,6 +201,7 @@ class SiteController extends FrontendController

return $this->render('about', [
'countProducers' => $producerManager->countProducersActiveWithTurnover(),
'producersWithTestimonials' => $producerManager->findProducersWithTestimonials(),
'aboutFewNumbers' => $aboutFewNumbers
]);
}

+ 15
- 4
frontend/views/site/_about_few_numbers.php 查看文件

@@ -6,12 +6,23 @@
</h2>
</div>
<div class="panel-body">
<?= few_numbers_item($countProducersActive, 'Producteurs', 'actifs sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($countUsersActive), 'Clients', 'actifs sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($countPointSalesActive), 'Points de vente', 'actifs sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($averageOrdersPerDay), 'Commandes clients / jour', 'en moyenne sur les 7 derniers jours'); ?>
<div class="row">
<?= few_numbers_item($countProducersActive, 'Producteurs', 'actifs sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($countUsersActive), 'Clients', 'actifs sur les 3 derniers mois'); ?>
</div>
<div class="row">
<?= few_numbers_item(few_numbers_format_number($countPointSalesActive), 'Points de vente', 'actifs sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($averageOrdersPerDay), 'Commandes clients / jour', 'en moyenne sur les 7 derniers jours'); ?>
</div>
<div class="row">
<?= few_numbers_item(few_numbers_format_number($averageTurnover).' €', 'CA producteurs / mois', 'moyenne sur les 3 derniers mois'); ?>
<?= few_numbers_item(few_numbers_format_number($numberVisitsMonth), 'Visiteurs', 'le mois dernier'); ?>
</div>
<?php if($countProducersWithOptionTimeSaved): ?>
<div class="row">
<?= few_numbers_item($timeSavedByProducersAverage.' h', 'Heures gagnées par semaine', 'moyenne sur '.$countProducersWithOptionTimeSaved.' producteur'.(($countProducersWithOptionTimeSaved) ? 's' : '')); ?>
</div>
<?php endif; ?>
</div>
</div>


+ 48
- 2
frontend/views/site/about.php 查看文件

@@ -62,7 +62,7 @@ $this->setIcon('info-sign');
cet
outil. Majoritairement utilisé par des boulangeries produisant du pain au levain naturel,
Opendistrib fonctionne également très bien pour tous types de production locale.</p>
<p>La première version du logiciel est née en 2016 à l'occasion de la création de la boulangerie
<p>La première version du logiciel est née en 2015 à l'occasion de la création de la boulangerie
Le Chat des Noisettes à Déservillers, en Franche-Comté. Le site a ensuite été progressivement
ouvert à d'autres producteurs un peu partout en France pour arriver à un total de
<?= $countProducers ?> producteurs actifs à l'heure actuelle.</p>
@@ -74,12 +74,58 @@ $this->setIcon('info-sign');
également conscient des enjeux sociétaux et environnementaux actuels, je me suis au fil des années
intéressé et spécialisé dans le développement de logiciels dédiés à la distribution de produits
locaux en circuits courts dont Opendistrib fait partie.</p>
<p>Depuis 2016, j'assure donc le développement, la maintenance et le support d'Opendistrib.
<p>Depuis 2015, j'assure donc le développement, la maintenance et le support d'Opendistrib.
Unique interlocuteur, j'offre aux producteurs une relation directe avec une personne impliquée
ayant une vue globale sur tous les aspects du logiciel. Technicien et pédagogue, j'aime être à
l'écoute des besoins des producteurs et leur apporter des solutions simples et adaptées.</p>
</div>
</div>

<?php
$countProducersWithTestimony = count($producersWithTestimonials);
if($countProducersWithTestimony):
?>
<div class="panel panel-primary">
<div class="panel-body">
<h2>Témoignages des producteurs</h2>
<div id="carousel-producers-testimonials" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<?php for($i = 0; $i < $countProducersWithTestimony; $i++): ?>
<li data-target="#carousel-producers-testimonials" data-slide-to="<?= $i ?>" <?php if($i == 0): ?>class="active"<?php endif; ?>></li>
<?php endfor; ?>
</ol>

<div class="carousel-inner" role="listbox">
<?php foreach($producersWithTestimonials as $key => $producerWithTestimony): ?>
<div class="item<?php if($key == 0): ?> active<?php endif; ?>">
<div class="carousel-caption">
<div class="carousel-caption-inner">
<img src="<?= Yii::$app->urlManagerProducer->getHostInfo() . '/' . Yii::$app->urlManagerProducer->baseUrl; ?>/uploads/<?= $producerWithTestimony->logo; ?>" alt="Logo <?= Html::encode($producerWithTestimony->name) ?>"/>
<div class="producer-testimony">
<?= nl2br(Html::encode($producerWithTestimony->option_testimony)); ?>
</div>
<div class="producer-details">
<?= Html::encode($producerWithTestimony->name); ?> à <?= Html::encode($producerWithTestimony->city); ?> (<?= Html::encode($producerWithTestimony->postcode); ?>)
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>

<a class="left carousel-control" href="#carousel-producers-testimonials" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-producers-testimonials" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
<?php endif; ?>

</div>
<div class="col-md-4" id="few-numbers">
<?= $aboutFewNumbers; ?>

+ 101
- 59
frontend/web/css/screen.css 查看文件

@@ -935,21 +935,63 @@ section#header-title h1 .glyphicon {
#content .site-about #few-numbers .item .detail {
color: gray;
}
/* line 977, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials {
transition: all 0.4s;
}
/* line 980, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item, #content .site-about #carousel-producers-testimonials .carousel-caption {
transition: all 0.4s;
}
/* line 984, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-indicators {
display: none;
}
/* line 988, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control {
background: none;
}
/* line 991, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control span.glyphicon {
top: 50px;
}
/* line 997, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item .carousel-caption {
top: 20px;
color: #323232;
text-shadow: none;
padding: 0px;
}
/* line 1003, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item .carousel-caption img {
display: block;
width: 150px;
height: auto;
margin: 0px auto 15px auto;
}
/* line 1011, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item .carousel-caption .producer-testimony {
margin-bottom: 12px;
}
/* line 1015, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item .carousel-caption .producer-details {
font-style: italic;
}

/* line 978, ../sass/screen.scss */
/* line 1023, ../sass/screen.scss */
#content #mentions {
padding-top: 20px;
}
/* line 981, ../sass/screen.scss */
/* line 1026, ../sass/screen.scss */
#content #mentions div.content {
width: 60%;
font-size: 90%;
}
/* line 986, ../sass/screen.scss */
/* line 1031, ../sass/screen.scss */
#content #mentions p {
padding-bottom: 15px;
}
/* line 990, ../sass/screen.scss */
/* line 1035, ../sass/screen.scss */
#content #mentions h2 {
color: black;
padding-bottom: 40px;
@@ -957,7 +999,7 @@ section#header-title h1 .glyphicon {
line-height: 35px;
font-family: 'highvoltageregular';
}
/* line 998, ../sass/screen.scss */
/* line 1043, ../sass/screen.scss */
#content #mentions h3 {
font-family: "highvoltageregular";
font-size: 18px;
@@ -966,44 +1008,44 @@ section#header-title h1 .glyphicon {
color: black;
}

/* line 1013, ../sass/screen.scss */
/* line 1058, ../sass/screen.scss */
.vegas-loading {
display: none;
}

/* line 1020, ../sass/screen.scss */
/* line 1065, ../sass/screen.scss */
#profil-user .form-group.field-user-no_mail label {
font-weight: normal;
}
/* line 1024, ../sass/screen.scss */
/* line 1069, ../sass/screen.scss */
#profil-user .form-group label {
cursor: pointer;
}
/* line 1029, ../sass/screen.scss */
/* line 1074, ../sass/screen.scss */
#profil-user #mails-days-distribution .form-group {
float: left;
margin-right: 15px;
}
/* line 1033, ../sass/screen.scss */
/* line 1078, ../sass/screen.scss */
#profil-user #mails-days-distribution .form-group label {
font-weight: normal;
}
/* line 1039, ../sass/screen.scss */
/* line 1084, ../sass/screen.scss */
#profil-user p.strong {
font-weight: bold;
}
/* line 1043, ../sass/screen.scss */
/* line 1088, ../sass/screen.scss */
#profil-user h2 {
text-transform: none;
font-size: 25px;
}
/* line 1047, ../sass/screen.scss */
/* line 1092, ../sass/screen.scss */
#profil-user h2:first-child {
margin-top: 0px;
}

/* login */
/* line 1058, ../sass/screen.scss */
/* line 1103, ../sass/screen.scss */
.back-white, .site-login .col-lg-5, .site-signup .col-lg-5 {
background-color: white;
padding: 30px;
@@ -1012,7 +1054,7 @@ section#header-title h1 .glyphicon {
border-radius: 5px;
}

/* line 1065, ../sass/screen.scss */
/* line 1110, ../sass/screen.scss */
.site-login .col-lg-5 {
margin: 0px auto;
float: none;
@@ -1020,19 +1062,19 @@ section#header-title h1 .glyphicon {
}

/* signup */
/* line 1075, ../sass/screen.scss */
/* line 1120, ../sass/screen.scss */
.modal-backdrop {
z-index: 999;
}

/* line 1080, ../sass/screen.scss */
/* line 1125, ../sass/screen.scss */
.site-signup .col-lg-5 {
margin: 0px auto;
float: none;
max-width: 500px;
}

/* line 1090, ../sass/screen.scss */
/* line 1135, ../sass/screen.scss */
#modal-cgv .modal-body h2 {
margin-bottom: 5px;
padding-bottom: 0px;
@@ -1040,41 +1082,41 @@ section#header-title h1 .glyphicon {
margin-top: 0px;
}

/* line 1100, ../sass/screen.scss */
/* line 1145, ../sass/screen.scss */
#form-signup #user-producer {
margin-bottom: 30px;
}
/* line 1105, ../sass/screen.scss */
/* line 1150, ../sass/screen.scss */
#form-signup #signupform-id_producer option:disabled {
font-weight: bold;
color: black;
}
/* line 1111, ../sass/screen.scss */
/* line 1156, ../sass/screen.scss */
#form-signup #champs-producer {
display: none;
}
/* line 1115, ../sass/screen.scss */
/* line 1160, ../sass/screen.scss */
#form-signup #buttons-signup {
margin-top: 30px;
}
/* line 1119, ../sass/screen.scss */
/* line 1164, ../sass/screen.scss */
#form-signup .field-signupform-is_test {
display: none;
}

/* line 1124, ../sass/screen.scss */
/* line 1169, ../sass/screen.scss */
#col-left {
padding: 0px;
z-index: 15;
}
/* line 1128, ../sass/screen.scss */
/* line 1173, ../sass/screen.scss */
#col-left .affix {
width: 25%;
border-right: solid 1px #e0e0e0;
background-color: #FAFAFA;
height: 100%;
}
/* line 1135, ../sass/screen.scss */
/* line 1180, ../sass/screen.scss */
#col-left #link-home {
text-decoration: none;
font-size: 22px;
@@ -1083,28 +1125,28 @@ section#header-title h1 .glyphicon {
padding: 10px;
background-color: white;
}
/* line 1143, ../sass/screen.scss */
/* line 1188, ../sass/screen.scss */
#col-left #link-home img {
height: 50px;
margin-bottom: 5px;
float: left;
}
/* line 1149, ../sass/screen.scss */
/* line 1194, ../sass/screen.scss */
#col-left #link-home .text {
padding-left: 62px;
}
/* line 1152, ../sass/screen.scss */
/* line 1197, ../sass/screen.scss */
#col-left #link-home .text .bap {
font-family: "comfortaalight";
font-size: 24px;
}
/* line 1157, ../sass/screen.scss */
/* line 1202, ../sass/screen.scss */
#col-left #link-home .text .plateforme {
font-size: 17px;
font-family: "myriadpro-light";
color: #F2B84B;
}
/* line 1165, ../sass/screen.scss */
/* line 1210, ../sass/screen.scss */
#col-left h2 {
font-family: 'myriadpro-regular';
color: black;
@@ -1112,37 +1154,37 @@ section#header-title h1 .glyphicon {
margin-bottom: 10px;
padding: 15px 0px 5px 15px;
}
/* line 1173, ../sass/screen.scss */
/* line 1218, ../sass/screen.scss */
#col-left #links {
background-color: white;
margin-bottom: 20px;
}
/* line 1179, ../sass/screen.scss */
/* line 1224, ../sass/screen.scss */
#col-left #links ul li a {
text-align: center;
border-right: solid 1px #e0e0e0;
}
/* line 1183, ../sass/screen.scss */
/* line 1228, ../sass/screen.scss */
#col-left #links ul li a:hover {
background-color: #F2B84B;
color: white;
}
/* line 1189, ../sass/screen.scss */
/* line 1234, ../sass/screen.scss */
#col-left #links ul li:last-child a {
border-right: 0px none;
}
/* line 1199, ../sass/screen.scss */
/* line 1244, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li a {
padding-left: 50px;
height: 40px;
}
/* line 1205, ../sass/screen.scss */
/* line 1250, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li.active a {
background-color: #F2B84B;
position: relative;
color: white;
}
/* line 1210, ../sass/screen.scss */
/* line 1255, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li.active a:after {
right: -40px;
top: 50%;
@@ -1157,18 +1199,18 @@ section#header-title h1 .glyphicon {
border-width: 20px;
margin-top: -20px;
}
/* line 1229, ../sass/screen.scss */
/* line 1274, ../sass/screen.scss */
#col-left ul {
list-style-type: none;
margin: 0px;
padding: 0px;
}
/* line 1234, ../sass/screen.scss */
/* line 1279, ../sass/screen.scss */
#col-left ul li {
margin: 0px;
padding: 0px;
}
/* line 1238, ../sass/screen.scss */
/* line 1283, ../sass/screen.scss */
#col-left ul li a {
text-decoration: none;
font-family: 'comfortaaregular';
@@ -1179,18 +1221,18 @@ section#header-title h1 .glyphicon {
display: block;
color: black;
}
/* line 1248, ../sass/screen.scss */
/* line 1293, ../sass/screen.scss */
#col-left ul li a span.name, #col-left ul li a span.wording {
display: none;
}
/* line 1255, ../sass/screen.scss */
/* line 1300, ../sass/screen.scss */
#col-left p {
padding: 20px;
padding-top: 0px;
color: gray;
}

/* line 1263, ../sass/screen.scss */
/* line 1308, ../sass/screen.scss */
#content .header-title {
height: 79px;
padding: 20px 20px;
@@ -1205,7 +1247,7 @@ section#header-title h1 .glyphicon {
-webkit-box-shadow: 0px 0px 8px #e0e0e0;
box-shadow: 0px 0px 8px #e0e0e0;
}
/* line 1275, ../sass/screen.scss */
/* line 1320, ../sass/screen.scss */
#content .header-title h1 {
color: black;
font-family: 'myriadpro-regular';
@@ -1213,7 +1255,7 @@ section#header-title h1 .glyphicon {
font-size: 25px;
text-transform: uppercase;
}
/* line 1283, ../sass/screen.scss */
/* line 1328, ../sass/screen.scss */
#content .header-title h2 {
color: gray;
text-transform: none;
@@ -1222,16 +1264,16 @@ section#header-title h1 .glyphicon {
line-height: 20px;
}

/* line 1294, ../sass/screen.scss */
/* line 1339, ../sass/screen.scss */
.header-producer {
z-index: 1;
}
/* line 1297, ../sass/screen.scss */
/* line 1342, ../sass/screen.scss */
.header-producer #block-main-img {
height: 144px;
overflow: hidden;
}
/* line 1301, ../sass/screen.scss */
/* line 1346, ../sass/screen.scss */
.header-producer #block-main-img #main-img {
width: 100%;
height: auto;
@@ -1241,7 +1283,7 @@ section#header-title h1 .glyphicon {
-webkit-border-radius: 0px;
border-radius: 0px;
}
/* line 1310, ../sass/screen.scss */
/* line 1355, ../sass/screen.scss */
.header-producer h1 {
font-family: 'comfortaaregular';
text-align: center;
@@ -1249,23 +1291,23 @@ section#header-title h1 .glyphicon {
top: 30px;
left: 40px;
}
/* line 1317, ../sass/screen.scss */
/* line 1362, ../sass/screen.scss */
.header-producer h1 span {
background-color: rgba(255, 255, 255, 0.8);
padding: 10px 30px;
border: dotted 1px black;
}

/* line 1328, ../sass/screen.scss */
/* line 1373, ../sass/screen.scss */
nav#menu-producer {
border-bottom: solid 1px #e0e0e0;
}
/* line 1332, ../sass/screen.scss */
/* line 1377, ../sass/screen.scss */
nav#menu-producer ul li {
padding: 0px;
margin: 0px;
}
/* line 1336, ../sass/screen.scss */
/* line 1381, ../sass/screen.scss */
nav#menu-producer ul li a {
border-right: solid 1px #e0e0e0;
text-decoration: none;
@@ -1273,28 +1315,28 @@ nav#menu-producer ul li a {
-webkit-border-radius: 0px;
border-radius: 0px;
}
/* line 1341, ../sass/screen.scss */
/* line 1386, ../sass/screen.scss */
nav#menu-producer ul li a:hover {
background-color: #F2B84B;
color: white;
}

/* line 1351, ../sass/screen.scss */
/* line 1396, ../sass/screen.scss */
.site-contact .col-lg-5 {
margin: 0px auto;
float: none;
}
/* line 1356, ../sass/screen.scss */
/* line 1401, ../sass/screen.scss */
.site-contact .form-group.submit {
text-align: center;
}

/* line 1363, ../sass/screen.scss */
/* line 1408, ../sass/screen.scss */
#site-prices .panel p {
padding-bottom: 0px;
}

/* line 1370, ../sass/screen.scss */
/* line 1415, ../sass/screen.scss */
#contact-form .field-contactform-istest {
display: none;
}

+ 30
- 0
frontend/web/js/frontend.js 查看文件

@@ -37,6 +37,7 @@
$(document).ready(function () {
opendistrib_signup();
producersModule.init();
aboutProducersTestimonialsCarousel.init();
});

var UrlManager = {
@@ -49,6 +50,35 @@ var UrlManager = {
}
};

var aboutProducersTestimonialsCarousel = {
getBlock: function(childElementSelector) {
var selector = '#carousel-producers-testimonials';
if(childElementSelector) {
return $(selector).find(childElementSelector);
}

return $(selector);
},
init: function() {
var app = this;
$block = app.getBlock();

// init carousel
$block.carousel();

// event on slide : init height
app.eventSlide();
$block.on('slid.bs.carousel', function () { app.eventSlide();});
},
eventSlide: function() {
var heightCurrentItem = this.getBlock('.item.active .carousel-caption-inner').height() + 50;

this.getBlock().height(heightCurrentItem);
this.getBlock('.item.active').height(heightCurrentItem);
this.getBlock('.item.active .carousel-caption').height(heightCurrentItem);
}
};

var producersModule = {
map: null,
mapMarkers: [],

+ 45
- 0
frontend/web/sass/screen.scss 查看文件

@@ -973,6 +973,51 @@ section#header-title {
}
}
}

#carousel-producers-testimonials {

transition: all 0.4s;
.item, .carousel-caption {
transition: all 0.4s;
}

.carousel-indicators {
display: none;
}

.carousel-control {
background: none;

span.glyphicon {
top: 50px;
}
}

.item {
.carousel-caption {
top: 20px;
color: $courant;
@include text-shadow(none);
padding: 0px;

img {
display: block;
$width-logo-carousel: 150px;
width: $width-logo-carousel;
height: auto;
margin: 0px auto 15px auto;
}

.producer-testimony {
margin-bottom: 12px;
}

.producer-details {
font-style: italic;
}
}
}
}
}

#content #mentions {

正在加载...
取消
保存