Integrate Revolution Slider into Codeigneter - codeigniter
I would like to tell you first that I have bought Revolution slider,It working fine on localhost.It has its own seperate Dashboard, installation,etc.But I want to integrate this plugin into Codeigniter, I don't know how to do it.As I realized, plugin structure is same as MVC framework.
Any Idea or instruction for it.
Thanks in Advance.
You can use revolution slider in codeigniter simply as a javascript library in your frontend you can include it by include its javscript and css files as follwing
<!-- CSS Dependencies -->
<link rel='stylesheet' href='css/rev_slider/settings.css' />
<link rel='stylesheet' href='css/rev_slider/layers.css' />
<link rel='stylesheet' href='css/navigation.css' />
<script src='js/jquery.min.js'></script>
<!-- SLIDER REVOLUTION 5.x SCRIPTS -->
<script src='js/rev_slider/jquery.themepunch.tools.min.js'></script>
<script src='js/rev_slider/jquery.themepunch.revolution.min.js'></script>
and then you can use revolution slider in your views
The following code snippet is the HTML structure for Revolution Slider
<section id="slider" class="revoslider-wrap full-screen slider-parallax clearfix z-index-1">
<div id="main_slider_wrapper" class="rev_slider_wrapper fullscreen-container" data-alias="concept1" style="background-color:#000000;padding:0px;">
<!-- START REVOLUTION SLIDER 5.1.1RC fullscreen mode -->
<div class="revolution-slider rev_slider" style="height: 0; overflow: hidden;">
<ul> <!-- SLIDE -->
<li data-index="rs-1" data-transition="turnoff-vertical" data-slotamount="7" data-hideafterloop="0" data-hideslideonmobile="off" data-easein="default" data-easeout="default" data-masterspeed="500" data-thumb="http://static.soaptheme.net/uploads/revslider1/concept/bg3.jpg" data-rotate="0" data-saveperformance="off" data-title="Slide" data-param1="" data-param2="" data-param3="" data-param4="" data-param5="" data-param6="" data-param7="" data-param8="" data-param9="" data-param10="" data-description="">
<!-- MAIN IMAGE -->
<img src="<?=asset_url()?>img/slider/slide1/bg.jpg" alt="" title="Slider1" data-bgposition="center center" data-bgfit="cover" data-bgrepeat="no-repeat" class="rev-slidebg" data-no-retina>
<!-- LAYERS -->
<!-- LAYER NR. 1 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-1"
data-x="12"
data-y="40"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="300"
data-responsive_offset="on"
style="z-index: 2;"><img src="<?=img_url()?>slider/slide1/1.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 2 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-2"
data-x="125"
data-y="225"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:left;s:2000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1000"
data-responsive_offset="on"
style="z-index: 3;"><img src="<?=img_url()?>slider/slide1/2.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 3 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-3"
data-x="1002"
data-y="400"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1300"
data-responsive_offset="on"
style="z-index: 4;"><img src="<?=img_url()?>slider/slide1/3.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 4 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-4"
data-x="1017"
data-y="478"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:bottom;s:2000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1600"
data-responsive_offset="on"
style="z-index: 5;"><img src="<?=img_url()?>slider/slide1/4.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 5 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-5"
data-x="691.136"
data-y="-138.128"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:right;s:1000;e:easeInOut;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1900"
data-responsive_offset="on"
style="z-index: 6;"><img src="<?=img_url()?>slider/slide1/5.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 6 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-6"
data-x="577.99"
data-y="14.471"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1000;e:easeInOut;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1900"
data-responsive_offset="on"
style="z-index: 7;"><img src="<?=img_url()?>slider/slide1/6.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 7 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-7"
data-x="580"
data-y="430"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:bottom;s:1000;e:easeInOut;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1900"
data-responsive_offset="on"
style="z-index: 7;"><img src="<?=img_url()?>slider/slide1/7.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 8 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-8"
data-x="325"
data-y="424"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:right;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1900"
data-responsive_offset="on"
style="z-index: 7;"><img src="<?=img_url()?>slider/slide1/8.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 9 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-9"
data-x="290"
data-y="0"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1000"
data-responsive_offset="on"
style="z-index: 7;"><img src="<?=img_url()?>slider/slide1/9.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 10 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-10"
data-x="823"
data-y="375"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:bottom;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1000"
data-responsive_offset="on"
style="z-index: 8;"><img src="<?=img_url()?>slider/slide1/10.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 11 -->
<div class="tp-caption tp-resizeme"
id="slide-1-layer-11"
data-x="15"
data-y="360"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:left;s:1000;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1300"
data-responsive_offset="on"
style="z-index: 9;"><img src="<?=img_url()?>slider/slide1/11.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 12 -->
<div class="tp-caption caption-medium-title tp-resizeme"
id="slide-1-layer-12"
data-x="415"
data-y="250"
data-width="['auto']"
data-height="['auto']"
data-transform_idle="o:1;"
data-transform_in="x:50px;opacity:0;s:1500;e:Power3.easeInOut;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="3000"
style="z-index: 10; width:100%;">
<img src="<?=asset_url()?>img/logo_svg/5-5.svg">
</div>
<!-- LAYER NR. 13 -->
<div class="tp-caption caption-medium-title tp-resizeme"
id="slide-1-layer-13"
data-x="415"
data-y="250"
data-width="['auto']"
data-height="['auto']"
data-transform_idle="o:1;"
data-transform_in="x:50px;opacity:0;s:1500;e:Power3.easeInOut;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="3200"
style="z-index: 11; height:300px; width:100%;">
<img src="<?=asset_url()?>img/logo_svg/4-4.svg">
</div>
<!-- LAYER NR. 14 -->
<div class="tp-caption caption-medium-title tp-resizeme"
id="slide-1-layer-14"
data-x="415"
data-y="250"
data-width="['auto']"
data-height="['auto']"
data-transform_idle="o:1;"
data-transform_in="x:-50px;opacity:0;s:1500;e:Power3.easeInOut;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="3500"
style="z-index: 14; height:300px; width:100%;">
<img src="<?=asset_url()?>img/logo_svg/2-2.svg">
</div>
<!-- LAYER NR. 15 -->
<div class="tp-caption caption-medium-title tp-resizeme"
id="slide-1-layer-15"
data-x="415"
data-y="250"
data-width="['auto']"
data-height="['auto']"
data-transform_idle="o:1;"
data-transform_in="x:-300px;opacity:0;s:1500;e:Power3.easeInOut;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="4000"
style="z-index: 14; width:100%;">
<img src="<?=asset_url()?>img/logo_svg/3-3.svg">
</div>
<!-- LAYER NR. 16 -->
<div class="tp-caption caption-medium-title tp-resizeme"
id="slide-1-layer-16"
data-x="490"
data-y="340"
data-width="['auto']"
data-height="['auto']"
data-transform_idle="o:1;"
data-transform_in="x:-50;opacity:0;s:1500;e:Power3.easeInOut;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="4000"
style="z-index: 14; width:100%;">
<span class="garamond-regular text-white revo-slider-big-text">One Stop Shop</span>
</div>
</li>
<!-- SLIDE -->
<li data-index="rs-2" data-transition="curtain-3" data-slotamount="7" data-hideafterloop="0" data-hideslideonmobile="off" data-easein="default" data-easeout="default" data-masterspeed="500" data-thumb="http://static.soaptheme.net/uploads/revslider1/concept/bg4.jpg" data-rotate="0" data-saveperformance="off" data-title="Slide" data-param1="" data-param2="" data-param3="" data-param4="" data-param5="" data-param6="" data-param7="" data-param8="" data-param9="" data-param10="" data-description="">
<!-- MAIN IMAGE -->
<img src="<?=img_url()?>slider/slide2/bg4.jpg" alt="" title="Slider1" data-bgposition="center center" data-bgfit="cover" data-bgrepeat="no-repeat" class="rev-slidebg" data-no-retina>
<!-- LAYERS -->
<!-- LAYER NR. 1 -->
<div class="tp-caption tp-resizeme"
id="slide-2-layer-1"
data-x="160"
data-y="175"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1500;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1400"
data-responsive_offset="on"
style="z-index: 6;"><img src="<?=img_url()?>slider/slide2/1.png" class="directline-assets" alt="" data-no-retina> </div>
<!-- LAYER NR. 2 -->
<div class="tp-caption tp-resizeme"
id="slide-2-layer-2"
data-x="40"
data-y="410"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:left;s:1500;e:easeInOutBack;"
data-transform_out="x:-50px;opacity:0;s:300;s:300;"
data-start="1700"
data-responsive_offset="on"
style="z-index: 7;"><img src="<?=img_url()?>slider/slide2/2.png" alt="" data-no-retina> </div>
<!-- LAYER NR. 3 -->
<div class="tp-caption tp-resizeme"
id="slide-2-layer-3"
data-x="182"
data-y="400"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:left;s:1500;e:easeInOutBack;"
data-transform_out="x:-50px;opacity:0;s:300;s:300;"
data-start="2000"
data-responsive_offset="on"
style="z-index: 8;"><img src="<?=img_url()?>slider/slide2/3.png" alt="" data-no-retina> </div>
<!-- LAYER NR. 4 -->
<div class="tp-caption tp-resizeme"
id="slide-2-layer-4"
data-x="840"
data-y="400"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1500;e:easeInOutBack;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="2300"
data-responsive_offset="on"
style="z-index: 9;"><img src="<?=img_url()?>slider/slide2/4.png" alt="" data-no-retina> </div>
<!-- LAYER NR. 5 -->
<div class="tp-caption tp-resizeme"
id="slide-2-layer-5"
data-x="980"
data-y="400"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="y:top;s:1500;e:easeInOutBack;"
data-transform_out="x:50px;opacity:0;s:300;s:300;"
data-start="2600"
data-responsive_offset="on"
style="z-index: 10;"><img src="<?=img_url()?>slider/slide2/5.png" alt="" data-no-retina> </div>
</li>
<!-- SLIDE -->
<li data-index="rs-3" data-transition="cube" data-slotamount="7" data-hideafterloop="0" data-hideslideonmobile="off" data-easein="default" data-easeout="default" data-masterspeed="500" data-thumb="http://static.soaptheme.net/uploads/revslider1/concept/bg5.jpg" data-rotate="0" data-saveperformance="off" data-title="Slide" data-param1="" data-param2="" data-param3="" data-param4="" data-param5="" data-param6="" data-param7="" data-param8="" data-param9="" data-param10="" data-description="">
<!-- MAIN IMAGE -->
<img src="<?=img_url()?>slider/slide3/bg.jpg" alt="" title="Slider1" data-bgposition="center center" data-bgfit="cover" data-bgrepeat="no-repeat" class="rev-slidebg" data-no-retina>
<!-- LAYERS -->
<!-- LAYER NR. 1 -->
<div class="tp-caption tp-resizeme"
id="slide-3-layer-1"
data-x="488"
data-y="411"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:0;s:1500;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="1900"
data-responsive_offset="on"
style="z-index: 6;">
<img src="<?=img_url()?>slider/slide3/1.png" alt="" data-no-retina />
</div>
<!-- LAYER NR. 2 -->
<div class="tp-caption tp-resizeme"
id="slide-3-layer-2"
data-x="582"
data-y="411"
data-width="['none','none','none','none']"
data-height="['none','none','none','none']"
data-transform_idle="o:1;"
data-transform_in="x:0;s:1500;e:easeInOutElastic;"
data-transform_out="y:bottom;s:300;s:300;"
data-start="2400"
data-responsive_offset="on"
style="z-index: 7;">
<img src="<?=img_url()?>slider/slide3/2.png" alt="" data-no-retina />
</div>
</li>
</ul>
</div>
</div>
The following is javascript initialization for revolution slider
$('.revolution-slider').revolution({
sliderType: "standard",
sliderLayout: "auto",
dottedOverlay: "none",
delay: 900000,
navigation: {
keyboardNavigation: "off",
keyboard_direction: "horizontal",
mouseScrollNavigation: "off",
mouseScrollReverse: "default",
onHoverStop: "on",
touch: {
touchenabled: "on",
swipe_threshold: 75,
swipe_min_touches: 1,
swipe_direction: "horizontal",
drag_block_vertical: false
},
arrows: {
style: "default",
enable: true,
hide_onmobile: false,
hide_onleave: false,
tmp: '',
left: {
h_align: "left",
v_align: "center",
h_offset: 20,
v_offset: 0
},
right: {
h_align: "right",
v_align: "center",
h_offset: 20,
v_offset: 0
}
}
},
visibilityLevels: [1240, 1024, 778, 480],
gridwidth: 1170,
gridheight: 646,
lazyType: "none",
shadow: 0,
spinner: "spinner4",
stopLoop: "on",
stopAfterLoops: -1,
stopAtSlide: -1,
shuffle: "off",
autoHeight: "off",
hideThumbsOnMobile: "off",
hideSliderAtLimit: 0,
hideCaptionAtLimit: 0,
hideAllCaptionAtLilmit: 0,
debugMode: false,
fallbacks: {
simplifyAll: "off",
nextSlideOnWindowFocus: "off",
disableFocusListener: false,
}
});
If you make the slider Dynamic you have to make it simple like just image slides without layers because to make layers dynamic it needs alot of processing for its cases in your back-end
Or if you have specific slides you can use them as static and you can do what ever you want in front-end
for further information to use revolution slider please read documentation in the following link:
Revolution Slider Documentation
Related
I need side bar in laravel jetstream inertia vue
I need side bar in laravel jetstream inertia vue enter image description here <script setup> import { ref } from 'vue'; import { Inertia } from '#inertiajs/inertia'; import { Head, Link } from '#inertiajs/inertia-vue3'; import ApplicationMark from '#/Components/ApplicationMark.vue'; import Banner from '#/Components/Banner.vue'; import Dropdown from '#/Components/Dropdown.vue'; import DropdownLink from '#/Components/DropdownLink.vue'; import NavLink from '#/Components/NavLink.vue'; import ResponsiveNavLink from '#/Components/ResponsiveNavLink.vue'; defineProps({ title: String, }); const showingNavigationDropdown = ref(false); const switchToTeam = (team) => { Inertia.put(route('current-team.update'), { team_id: team.id, }, { preserveState: false, }); }; const logout = () => { Inertia.post(route('logout')); }; </script> <template> <div> <Head :title="title" /> <Banner /> <div class="min-h-screen bg-gray-100"> <nav class="bg-white border-b border-gray-100"> <!-- Primary Navigation Menu --> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <div class="flex justify-between h-16"> <div class="flex"> <!-- Logo --> <div class="shrink-0 flex items-center"> <Link :href="route('dashboard')"> <ApplicationMark class="block h-9 w-auto" /> </Link> </div> <!-- Navigation Links --> <div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex"> <NavLink :href="route('dashboard')" :active="route().current('dashboard')"> Dashboard </NavLink> </div> </div> <div class="hidden sm:flex sm:items-center sm:ml-6"> <div class="ml-3 relative"> <!-- Teams Dropdown --> <Dropdown v-if="$page.props.jetstream.hasTeamFeatures" align="right" width="60"> <template #trigger> <span class="inline-flex rounded-md"> <button type="button" class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 bg-white hover:bg-gray-50 hover:text-gray-700 focus:outline-none focus:bg-gray-50 active:bg-gray-50 transition"> {{ $page.props.user.current_team.name }} <svg class="ml-2 -mr-0.5 h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" /> </svg> </button> </span> </template> <template #content> <div class="w-60"> <!-- Team Management --> <template v-if="$page.props.jetstream.hasTeamFeatures"> <div class="block px-4 py-2 text-xs text-gray-400"> Manage Team </div> <!-- Team Settings --> <DropdownLink :href="route('teams.show', $page.props.user.current_team)"> Team Settings </DropdownLink> <DropdownLink v-if="$page.props.jetstream.canCreateTeams" :href="route('teams.create')"> Create New Team </DropdownLink> <div class="border-t border-gray-100" /> <!-- Team Switcher --> <div class="block px-4 py-2 text-xs text-gray-400"> Switch Teams </div> <template v-for="team in $page.props.user.all_teams" :key="team.id"> <form #submit.prevent="switchToTeam(team)"> <DropdownLink as="button"> <div class="flex items-center"> <svg v-if="team.id == $page.props.user.current_team_id" class="mr-2 h-5 w-5 text-green-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /> </svg> <div>{{ team.name }}</div> </div> </DropdownLink> </form> </template> </template> </div> </template> </Dropdown> </div> <!-- Settings Dropdown --> <div class="ml-3 relative"> <Dropdown align="right" width="48"> <template #trigger> <button v-if="$page.props.jetstream.managesProfilePhotos" class="flex text-sm border-2 border-transparent rounded-full focus:outline-none focus:border-gray-300 transition"> <img class="h-8 w-8 rounded-full object-cover" :src="$page.props.user.profile_photo_url" :alt="$page.props.user.name"> </button> <span v-else class="inline-flex rounded-md"> <button type="button" class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 bg-white hover:text-gray-700 focus:outline-none focus:bg-gray-50 active:bg-gray-50 transition"> {{ $page.props.user.name }} <svg class="ml-2 -mr-0.5 h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" /> </svg> </button> </span> </template> <template #content> <!-- Account Management --> <div class="block px-4 py-2 text-xs text-gray-400"> Manage Account </div> <DropdownLink :href="route('profile.show')"> Profile </DropdownLink> <DropdownLink v-if="$page.props.jetstream.hasApiFeatures" :href="route('api-tokens.index')"> API Tokens </DropdownLink> <div class="border-t border-gray-100" /> <!-- Authentication --> <form #submit.prevent="logout"> <DropdownLink as="button"> Log Out </DropdownLink> </form> </template> </Dropdown> </div> </div> <!-- Hamburger --> <div class="-mr-2 flex items-center sm:hidden"> <button class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition" #click="showingNavigationDropdown = ! showingNavigationDropdown"> <svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24" > <path :class="{'hidden': showingNavigationDropdown, 'inline-flex': ! showingNavigationDropdown }" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> <path :class="{'hidden': ! showingNavigationDropdown, 'inline-flex': showingNavigationDropdown }" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> </div> <!-- Responsive Navigation Menu --> <div :class="{'block': showingNavigationDropdown, 'hidden': ! showingNavigationDropdown}" class="sm:hidden"> <div class="pt-2 pb-3 space-y-1"> <ResponsiveNavLink :href="route('dashboard')" :active="route().current('dashboard')"> Dashboard </ResponsiveNavLink> </div> <!-- Responsive Settings Options --> <div class="pt-4 pb-1 border-t border-gray-200"> <div class="flex items-center px-4"> <div v-if="$page.props.jetstream.managesProfilePhotos" class="shrink-0 mr-3"> <img class="h-10 w-10 rounded-full object-cover" :src="$page.props.user.profile_photo_url" :alt="$page.props.user.name"> </div> <div> <div class="font-medium text-base text-gray-800"> {{ $page.props.user.name }} </div> <div class="font-medium text-sm text-gray-500"> {{ $page.props.user.email }} </div> </div> </div> <div class="mt-3 space-y-1"> <ResponsiveNavLink :href="route('profile.show')" :active="route().current('profile.show')"> Profile </ResponsiveNavLink> <ResponsiveNavLink v-if="$page.props.jetstream.hasApiFeatures" :href="route('api-tokens.index')" :active="route().current('api-tokens.index')"> API Tokens </ResponsiveNavLink> <!-- Authentication --> <form method="POST" #submit.prevent="logout"> <ResponsiveNavLink as="button"> Log Out </ResponsiveNavLink> </form> <!-- Team Management --> <template v-if="$page.props.jetstream.hasTeamFeatures"> <div class="border-t border-gray-200" /> <div class="block px-4 py-2 text-xs text-gray-400"> Manage Team </div> <!-- Team Settings --> <ResponsiveNavLink :href="route('teams.show', $page.props.user.current_team)" :active="route().current('teams.show')"> Team Settings </ResponsiveNavLink> <ResponsiveNavLink v-if="$page.props.jetstream.canCreateTeams" :href="route('teams.create')" :active="route().current('teams.create')"> Create New Team </ResponsiveNavLink> <div class="border-t border-gray-200" /> <!-- Team Switcher --> <div class="block px-4 py-2 text-xs text-gray-400"> Switch Teams </div> <template v-for="team in $page.props.user.all_teams" :key="team.id"> <form #submit.prevent="switchToTeam(team)"> <ResponsiveNavLink as="button"> <div class="flex items-center"> <svg v-if="team.id == $page.props.user.current_team_id" class="mr-2 h-5 w-5 text-green-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /> </svg> <div>{{ team.name }}</div> </div> </ResponsiveNavLink> </form> </template> </template> </div> </div> </div> </nav> <!-- Page Heading --> <header v-if="$slots.header" class="bg-white shadow"> <div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8"> <slot name="header" /> </div> </header> <!-- Page Content --> <main> <slot /> </main> </div> </div> </template> this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar this code app layout i need side bar
Cannot fix tailwind component dropdown on laravel
Im sitting from 3 hours and cant still figure out what is wrong. Im kind of new in programming, but on back end. I pasted from tailwind component navbar and dropdown is automatically opened. I tried so many things, or I dont get how to make them or I dont know... Tried also alpinejs, but not working or im doing something wrong. [I added picture here to show this dropdown which is not closing and is opened always no matter what. Im trying to fix this using blades on Laravel. <!-- This example requires Tailwind CSS v2.0+ --> <nav class="bg-gray-800"> <div class="max-w-7xl mx-auto px-2 sm:px-6 lg:px-8"> <div class="relative flex items-center justify-between h-16"> <div class="absolute inset-y-0 left-0 flex items-center sm:hidden"> <!-- Mobile menu button--> <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white" aria-controls="mobile-menu" aria-expanded="false"> <span class="sr-only">Open main menu</span> <!-- Icon when menu is closed. Heroicon name: outline/menu Menu open: "hidden", Menu closed: "block" --> <svg class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> </svg> <!-- Icon when menu is open. Heroicon name: outline/x Menu open: "block", Menu closed: "hidden" --> <svg class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> <div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"> <div class="flex-shrink-0 flex items-center"> <img class="block lg:hidden h-8 w-auto" src="https://tailwindui.com/img/logos/workflow-mark-indigo-500.svg" alt="Workflow"> <img class="hidden lg:block h-8 w-auto" src="https://tailwindui.com/img/logos/workflow-logo-indigo-500-mark-white-text.svg" alt="Workflow"> </div> <div class="hidden sm:block sm:ml-6"> <div class="flex space-x-4"> <!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" --> Dashboard Team Projects Calendar </div> </div> </div> <div class="absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0"> <button class="bg-gray-800 p-1 rounded-full text-gray-400 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white"> <span class="sr-only">View notifications</span> <!-- Heroicon name: outline/bell --> <svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" /> </svg> </button> <!-- Profile dropdown --> <div class="ml-3 relative"> <div> <button type="button" class="bg-gray-800 flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white" id="user-menu-button" aria-expanded="false" aria-haspopup="true"> <span class="sr-only">Open user menu</span> <img class="h-8 w-8 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> </button> </div> <!-- Dropdown menu, show/hide based on menu state. Entering: "transition ease-out duration-100" From: "transform opacity-0 scale-95" To: "transform opacity-100 scale-100" Leaving: "transition ease-in duration-75" From: "transform opacity-100 scale-100" To: "transform opacity-0 scale-95" --> <div class="origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="user-menu-button" tabindex="-1"> <!-- Active: "bg-gray-100", Not Active: "" --> Your Profile Settings Sign out </div> </div> </div> </div> </div> <!-- Mobile menu, show/hide based on menu state. --> <div class="sm:hidden" id="mobile-menu"> <div class="px-2 pt-2 pb-3 space-y-1"> <!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" --> Dashboard Team Projects Calendar </div> </div> </nav> Picture of the problem
Tailwind UI doesn't provide the necessary scripts. You have to write the JS yourself. Easiest way: Add Alpine.js <script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine#v2.8.2/dist/alpine.min.js" defer></script> Make "Profile Dropdown" an alpine component <!-- Profile dropdown --> <div x-data="{show: false}" x-on:click.away="show = false" class="ml-3 relative"> Add a click event to the Profile Button <button x-on:click="show = !show" type="button" class="max-w-xs bg-gray-800 rounded-full flex items-center text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white" id="user-menu-button" aria-expanded="false" aria-haspopup="true">... Snippet (I just made the desktop version work.. So open in full page) <link href="https://unpkg.com/tailwindcss#^2/dist/tailwind.min.css" rel="stylesheet"/> <script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine#v2.8.2/dist/alpine.min.js"></script> <!-- This example requires Tailwind CSS v2.0+ --> <div> <nav class="bg-gray-800"> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <div class="flex items-center justify-between h-16"> <div class="flex items-center"> <div class="flex-shrink-0"> <img class="h-8 w-8" src="https://tailwindui.com/img/logos/workflow-mark-indigo-500.svg" alt="Workflow"> </div> <div class="hidden md:block"> <div class="ml-10 flex items-baseline space-x-4"> <!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" --> Dashboard Team Projects Calendar Reports </div> </div> </div> <div class="hidden md:block"> <div class="ml-4 flex items-center md:ml-6"> <button class="bg-gray-800 p-1 rounded-full text-gray-400 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white"> <span class="sr-only">View notifications</span> <!-- Heroicon name: outline/bell --> <svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" /> </svg> </button> <!-- Profile dropdown --> <div x-data="{show: false}" x-on:click.away="show = false" class="ml-3 relative"> <div> <button x-on:click="show = !show" type="button" class="max-w-xs bg-gray-800 rounded-full flex items-center text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white" id="user-menu-button" aria-expanded="false" aria-haspopup="true"> <span class="sr-only">Open user menu</span> <img class="h-8 w-8 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> </button> </div> <!-- Dropdown menu, show/hide based on menu state. Entering: "transition ease-out duration-100" From: "transform opacity-0 scale-95" To: "transform opacity-100 scale-100" Leaving: "transition ease-in duration-75" From: "transform opacity-100 scale-100" To: "transform opacity-0 scale-95" --> <div x-show="show" class="origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="user-menu-button" tabindex="-1"> <!-- Active: "bg-gray-100", Not Active: "" --> Your Profile Settings Sign out </div> </div> </div> </div> <div class="-mr-2 flex md:hidden"> <!-- Mobile menu button --> <button type="button" class="bg-gray-800 inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white" aria-controls="mobile-menu" aria-expanded="false"> <span class="sr-only">Open main menu</span> <!-- Heroicon name: outline/menu Menu open: "hidden", Menu closed: "block" --> <svg class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> </svg> <!-- Heroicon name: outline/x Menu open: "block", Menu closed: "hidden" --> <svg class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /> </svg> </button> </div> </div> </div> <!-- Mobile menu, show/hide based on menu state. --> <div class="md:hidden" id="mobile-menu"> <div class="px-2 pt-2 pb-3 space-y-1 sm:px-3"> <!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" --> Dashboard Team Projects Calendar Reports </div> <div class="pt-4 pb-3 border-t border-gray-700"> <div class="flex items-center px-5"> <div class="flex-shrink-0"> <img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt=""> </div> <div class="ml-3"> <div class="text-base font-medium leading-none text-white">Tom Cook</div> <div class="text-sm font-medium leading-none text-gray-400">tom#example.com</div> </div> <button class="ml-auto bg-gray-800 flex-shrink-0 p-1 rounded-full text-gray-400 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white"> <span class="sr-only">View notifications</span> <!-- Heroicon name: outline/bell --> <svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" /> </svg> </button> </div> <div class="mt-3 px-2 space-y-1"> Your Profile Settings Sign out </div> </div> </div> </nav> <header class="bg-white shadow"> <div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8"> <h1 class="text-3xl font-bold text-gray-900"> Dashboard </h1> </div> </header> <main> <div class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8"> <!-- Replace with your content --> <div class="px-4 py-6 sm:px-0"> <div class="border-4 border-dashed border-gray-200 rounded-lg h-96"></div> </div> <!-- /End replace --> </div> </main> </div>
Error occuring template parsing. (Spring Boot + Thymeleaf) with layout and static
I am getting parsing error when I try to load localhost:8080/. I can't find any errors in my template, so why have I this mistake? The file static has folder css and picture with jQuery, js and bootstrap Error : This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed May 22 13:02:18 CEST 2019 There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/RHAjouterDeve.html]") Code layout index.html: <!DOCTYPE html> <html lang="fr" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial- scale=1"> <link th:href="/webjars/bootstrap/4.3.1/css/bootstrap.css" rel="stylesheet" /> <link rel="icon" th:href="(images/favicon.ico)" type="image/ico" /> <title>Projet Pfa Spring BOOT </title> <link rel="stylesheet" th:href="{build/css/bootstrap.min.css}" /> </head> <body class="nav-md"> <div class="container body"> <div class="main_container"> <div class="col-md-3 left_col"> <div class="left_col scroll-view"> <div class="navbar nav_title" style="border: 0;"> </div> <div class="clearfix"></div> <div class="profile clearfix"> <div class="profile_pic"> </div> </div> <br /> <div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> <div class="menu_section"> <br/> <br/> <br/> <br/> <br/> <h3>Menu</h3> <!-- <ul class="nav side-menu"> --> <!-- <li><a><i class="fa fa-home"></i> Formation <span class="fa fa-chevron-down"></span></a> --> <!-- <ul class="nav child_menu"> --> <!-- <li>Demande Formation</li> --> <!-- <li>Formation Traité</li> --> <!-- <li>Formation Accepter</li> --> <!-- <li>Formation En Cours</li> --> <!-- <li>Formation Finis</li> --> <!-- </ul> --> <!-- </li> --> <!-- <ul class="nav side-menu"> --> <!-- <li><a><i class="fa fa-home"></i> Devellopeur <span class="fa fa-chevron-down"></span></a> --> <!-- <ul class="nav child_menu"> --> <!-- <li>La Liste Devellopeur</li> --> <!-- </ul> --> <!-- </li> --> <!-- </ul>--> </div> </div> </div> </div> <!-- top navigation --> <div class="top_nav"> <div class="nav_menu"> <nav> <div class="nav toggle"> <a id="menu_toggle"><i class="fa fa-bars"></i></a> </div> <ul class="nav navbar-nav navbar-right"> <li class=""> <a href="javascript:;" class="user-profile dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <img th:src="(images/img.jpg)" alt=""> <span class=" fa fa-angle-down"></span> </a> <ul class="dropdown-menu dropdown-usermenu pull-right"> <li> </li> <li><i class="fa fa-sign-out pull-right"></i> Log Out</li> </ul> </li> <li role="presentation" class="dropdown"> <ul id="menu1" class="dropdown-menu list-unstyled msg_list" role="menu"> <li> <a> <span class="image"><img th:src="(images/img.jpg)" alt="Profile Image" /></span> </a> </li> <li> <a> <span class="image"><img src="images/img.jpg" alt="Profile Image" /></span> </a> </li> <li> <a> </a> </li> <li> <a> </a> </li> <li> <div class="text-center"> </div> </li> </ul> </li> </ul> </nav> </div> </div> <!-- /top navigation --> <!-- page content --> <div class="right_col" role="main"> <!-- <div class="row tile_count"> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Formation en cours</span> --> <!-- <div class="count">2500</div> --> <!-- </div> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Formation Traité </span> --> <!-- <div class="count">123.50</div> --> <!-- <span class="count_bottom"><i class="green"> </i></span> --> <!-- </div> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Total Finis</span> --> <!-- <div class="count green">2,500</div> --> <!-- <span class="count_bottom"><i class="green"></i> </i></span> --> <!-- </div> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Total Formateur</span> --> <!-- <div class="count">4,567</div> --> <!-- <span class="count_bottom"><i class="red"></i> </i> </span> --> <!-- </div> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Total Employé</span> --> <!-- <div class="count">2,315</div> --> <!-- <span class="count_bottom"><i class="green"> </span> --> <!-- </div> --> <!-- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count"> --> <!-- <span class="count_top"><i class="fa fa-user"></i> Total Chef Projet</span> --> <!-- <div class="count">7,325</div> --> <!-- <span class="count_bottom"><i class="green"> </span> --> <!-- </div> --> <!-- </div> --> <section layout:fragment="content" class="container"> </section> <!-- start of weather widget --> <!-- end of weather widget --> </div> </div> </div> <!-- /page content --> <!-- footer content --> <!-- /footer content --> <!-- Custom Theme Scripts --> <script src="build/js/custom.min.js"></script> <script src="/webjars/jquery/3.4.1/jquery.js"></script> <script src="/webjars/bootstrap/4.3.1/js/bootstrap.js"> </script> </body> </html> </strike> Fichier rhajouterdeve.html <strike><!DOCTYPE html> <html xmlns:th="http://thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout/default"> <body> <section layout:fragment="content"> hello </section> </body> </html> </strike> le code du controller : package com.projetpfa.gestionrh.gestionrh.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; #Controller #RequestMapping("/Devellopeur") public class DeveControllers { //#Autowired //DeveService dvserv; #GetMapping("/") public String AllDeve( ) { return"RHAjouterDeve"; } } mon fichier pom.xml : <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.projet.pfa</groupId> <artifactId>projetpfa</artifactId> <version>0.0.1-SNAPSHOT</version> <name>projetpfa</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>nz.net.ultraq.thymeleaf</groupId> <artifactId>thymeleaf-layout-dialect</artifactId> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>4.3.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> Error in logs: ____org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/RHAjouterDeve.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:362) [thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:189) [thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1370) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1116) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) [tomcat-embed-core-9.0.17.jar:9.0.17] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) [spring-webmvc-5.1.6.RELEASE.jar:5.1.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat-embed-core-9.0.17.jar:9.0.17] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.17.jar:9.0.17] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.17.jar:9.0.17] _ __ _ _ have a Spring Boot for serving images. My Model is included in my ImageController.java. ImageService contains findPage method. When running my Spring Boot Application I am getting an error. I want to see me template DASHBOARD to begin my project How can localhost:8585/Devellopeur find template with static file and layout view with no error,
First of all, you can not access localhost:8080/ because you do not have the right controller. You can access http://localhost:8090/Devellopeur/ package com.projetpfa.gestionrh.gestionrh.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; #Controller #RequestMapping("/Devellopeur") public class DeveControllers { //#Autowired //DeveService dvserv; #GetMapping("/") public String AllDeve( ) { return"RHAjouterDeve"; } } In order to access http://localhost:8090/Devellopeur/ without no thymeleaf parsing errors, you have to create the web page default declared in your rhajouterdeve.html. In general, this file (default.html) is used to to reuse header and footer on all Thymeleaf templates. <html xmlns:th="http://thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="layout/default"> Create it in templates package and declare it as follow: <html xmlns:th="http://thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="default"> At last, you should delete the <strike> in your rhajouterdeve.html Here an example of default page that you can use. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Latest compiled JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <header> <div class="container"> <nav class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a class="navbar-brand" href="#">Jeutroll</a> </div> <div> <ul class="nav navbar-nav"> <li class="active"><a th:href="#{/index}">Home</a></li> </ul> </div> </nav> </div> </header> <section layout:fragment="content"></section> <footer> <div class="navabar-fixed-bottom"> <small>adress</small> </div> </footer> </body> </html>
How to create image-map in jssor slider
How to use image-map on jssor. its not working, the link disappears. I have tried the given code. <div id="jssor_4" style="position:relative;margin:0 auto;top:0px;left:0px;width:1500px;height:300px;overflow:hidden;visibility:hidden;"> <div data-u="slides" style="cursor:default;position:relative;top:0px;left:0px;width:1500px;height:300px;overflow:hidden;"> <div> <img data-u="image" src="/images/banner-animasi1.jpg" usemap="#image-map1" style="width:100%" /> </div> </div> <!-- Bullet Navigator --> <div data-u="navigator" class="jssorb108" style="position:absolute;bottom:0px;right:12px;" data-autocenter="1" data-scale="0.5" data-scale-bottom="0.75"> <div data-u="prototype" class="i" style="width:16px;height:16px;"> <svg viewbox="0 0 16000 16000" style="position:absolute;top:0;left:0;width:100%;height:100%;"> <circle class="b" cx="8000" cy="8000" r="5800"></circle> </svg> </div> </div> </div> </div> <map name="image-map1"> <area target="_self" alt="Tentang kami" title="Tentang kami" href="/about" coords="2666,758,3540,922" shape="rect"> </map> Any suggestion or help will be appreciated. Thanks
Popups with full image from thumbnails
I'm quite new to coding and I have a question. I have checked out several forums already, but none of them helped me out. I have a image gallery (I used this one to get started: http://startbootstrap.com/thumbnail-gallery) and I want to get a popup with the image on full size when a viewer clicks on one of the thumbnails. Does anyone know how I can implent this function? My HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="author" content=""> <meta name="description" content=""> <title></title> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/styles.css" rel="stylesheet"> <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,300' rel='stylesheet'> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <!-- HEADER --> <div class="top-header section-content align-center"> <header> <img class="logo" src="images/logo.png"> <ul class="inline"> <li>Home</li> <li>About</li> <li>Contact</li> </ul> </header> </div> <!-- CONTENT --> <section> <div class="container"> <div class="row"> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/2.png" class="grayscale" alt="Portfolio Item 1"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/1.png" class="grayscale" alt="Portfolio Item 2"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/3.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/5.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> </div> <div class="row"> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/4.png" class="grayscale" alt="Portfolio Item 1"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/6.png" class="grayscale" alt="Portfolio Item 2"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/8.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/7.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> </div> <div class="row"> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/1.png" class="grayscale" alt="Portfolio Item 1"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/4.png" class="grayscale" alt="Portfolio Item 2"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/3.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> <div class="col-xs-6 col-md-3"> <a href="#" class="thumbnail"> <img src="images/portfolio-items/6.png" class="grayscale" alt="Portfolio Item 3"> </a> </div> </div> </div> </section> <hr /> <!-- QUOTE AREA --> <section> <div class="quote-container section-content align-center"> <h2 class="interested">Interested?</h2> <p>Do you like my work? Do you want more information about me and the services I provide? Feel free to shoot me a message!</p> Contact </div> </section> <!-- FOOTER --> <div id="footer"> <div class="copyright"> © Copyright 2014 Distinction Portfolio Theme. </div> </div> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html>
You can use LightBox for this. It is not included in the bootstrap framework but i'm sure there are extensions made for it. For example, you can try Bootstrap 3 lightbox : http://ashleydw.github.io/lightbox/
Use this HTML code to implement simple image pop up on click of thumbnail and have an image close option: <div class="col-lg-3 col-md-4 col-xs-6 thumb"> <a class="thumbnail" href="#" data-toggle="modal" data-target=".bs-example1-modal-lg"> <img class="img-responsive" src="img/clinic1.jpg" alt=""> </a> <div class="modal fade bs-example1-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <!-- /.modal-dialog --> <div class="modal-content"> <!-- /.modal-content --> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myLargeModalLabel">Image-1</h4> </div> <div class="modal-body"> <img src="img/clinic1.jpg" class="img-responsive img-rounded center-block" alt=""> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> </div>