How to go to a div with a given ID cakephp3 - forms

I am struggling with this problem, I am writing a code for a dashboard but It's not coming together. This is the code currently have:
<?= $this->Html->link('Edit', array('#' => 'container edit', $server->id)) ?>
This is the link to the div right down here, it's working when i don't give the server-id to the specific row. With the ID it doesn't redirect correctly.
<div class="container admin-section admin-sub edit" id="admin-edit">
<nav class="col col-xs-12 col-md-4 columns" id="actions-sidebar">
<ul class="side-nav">
<li class="heading"><?= __('Actions') ?></li>
<li data-target="admin-overview">Server List</li>
<li><?= $this->Form->postLink(
__('Delete'),
['action' => 'delete', $servers->id],
['confirm' => __('Are you sure you want to delete # {0}?', $servers->id)]
)
?></li>
</ul>
</nav>
<div class="servers form col col-xs-12 col-md-8 columns content">
<?= $this->Form->create($servers) ?>
<fieldset>
<legend><?= __('Edit Server') ?></legend>
<?php
echo $this->Form->input('url', ['class'=> 'form-control']);
echo $this->Form->input('description', ['class'=> 'form-control']);
?>
</fieldset>
<?= $this->Form->button(__('Submit'), ['class'=> 'btn btn-primary']) ?>
<?= $this->Form->end() ?>
</div>
</div>
Instead it'll go to http://dashboard/pages/1#container%20add which it shouldn't be doing. How can I make sure it'll only go to the div and not a different page?

You can do this with Url->Build
exemple:
toto

You can do it by using controller and action name.
Example :
echo $this->Html->link('Title', array(
'controller'=>'pages',
'action'=>'index',
$server->id,
'container edit'
)
);
Above code will produce -
pages/{serverId}#container%20add
pages/index/{serverId}#container%20add

Related

Show plain text in Gridview/DetailView

I use kartik/GridView. In my database, I have following record using widget of \dosamigos\ckeditor\CKEditor in _form.php:
<p>ist gewöhnungsbedürftig aber halt auch kompetent</p>
Any ideas how to outline this record in GridView without HTML-tags, just plain text like this:
ist gewöhnungsbedürftig aber halt auch kompetent
Here is my DetailView:
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
?>
<div class="bewerber-view">
<div class="row">
<div class="col-sm-9">
<h2><?= Html::encode($model->id) ?></h2>
</div>
</div>
<div class="col-lg-1">
<?php
$gridColumn = [
.
.
'beurteilung_persoenlich:ntext', //contains upper record
.
.
];
echo DetailView::widget([
'model' => $model,
'attributes' => $gridColumn
]);
?>
</div>
got solution by my own:
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
?>
<div class="bewerber-view">
<div class="row">
<div class="col-sm-9">
<h2><?= Html::encode($model->id) ?></h2>
</div>
</div>
<div class="col-lg-1">
<?php
$gridColumn = [
.
.
'beurteilung_persoenlich:html', //contains upper record
.
.
];
echo DetailView::widget([
'model' => $model,
'attributes' => $gridColumn
]);
?>
</div>
will solve my problem as described.
Happy Coding
this worked for me
'your_attritube_name:html'

Selected an option in edit view cakephp 3.0

I am generating list within a form like the following code. But for updating view how can select the particular option according to the user. Suppose for this user's role is Customer. Then how can select this(Customer) option in CakePHP 3.
<?= $this->Form->create($user) ?>
<?php
echo $this->Form->input('fullname');
echo $this->Form->input('contact_no');
?>
<div class="form-group">
<?php echo $this->Form->select(
'role',
['Customer', 'Staff', 'User'],
['title' => 'Select user type']
); ?>
</div>
<?= $this->Form->end() ?>
Here is what I did : (According that I have 2 tables : Users which belongsTo Roles)
In my UsersController, i added this following line :
$this->set('roles', $this->Users->Roles->find('list')->order('name'));
Then, you'll need to edit your view from
<div class="form-group">
<?php echo $this->Form->select(
'role',
['Customer', 'Staff', 'User'],
['title' => 'Select user type']
); ?>
</div>
to
<div class="form-group">
<?= $this->Form->select(
'role_id',
$roles,
['id' => 'role-id', 'required' => true]
);
?>
</div>

Yii bootstrap submit a form inside a modal window using the modal buttons

I'm trying to submit a form from inside a modal window using the modal buttons in the modal-footer.
The form itself is loaded through ajax from a link (controller/action).
Just to be clearer I attached this picture:
This is the code for the modal:
<?php $this->beginWidget('bootstrap.widgets.TbModal', array('id'=>'modal')); ?>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h4>Client Ticket Status Update</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<?php $this->widget('bootstrap.widgets.TbButton', array(
'buttonType'=>'ajaxSubmit',
'type'=>'primary',
'label'=>'Save changes',
'url'=>'#',
'htmlOptions'=>array('data-dismiss'=>'modal'),
)); ?>
<?php $this->widget('bootstrap.widgets.TbButton', array(
'label'=>'Close',
'url'=>'#',
'htmlOptions'=>array('data-dismiss'=>'modal'),
)); ?>
</div>
<?php $this->endWidget(); ?>
This is the javascript that loads the form inside the modal:
$("a[data-toggle=modal]").click(function(){
var target = $(this).attr('data-target');
var url = $(this).attr('href');
if(url){
$(target).find(".modal-body").load(url);
}
});
This is the form view:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'client-ticket-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required. </p>
<?php echo $form->errorSummary($ticket); ?>
<div>
<?php echo $form->labelEx($ticket,'sent_to'); ?>
<?php echo $form->textField($ticket,'sent_to'); ?>
<?php echo $form->error($ticket,'sent_to'); ?>
</div>
<div>
<?php echo $form->labelEx($ticket,'courier'); ?>
<?php echo $form->textField($ticket,'courier'); ?>
<?php echo $form->error($ticket,'courier'); ?>
</div>
<div>
<?php echo $form->labelEx($ticket,'awb'); ?>
<?php echo $form->textField($ticket,'awb'); ?>
<?php echo $form->error($ticket,'awb'); ?>
</div>
<div>
<?php echo $form->labelEx($ticket,'awb_date'); ?>
<?php echo $form->textField($ticket,'awb_date'); ?>
<?php echo $form->error($ticket,'awb_date'); ?>
</div>
<div class="buttons">
<?php echo CHtml::submitButton($ticket->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
Any help is very appreciated. If you require more information, please ask.
Change code at model-footer as below:
<div class="modal-footer">
<?php $this->widget('bootstrap.widgets.TbButton', array(
'type'=>'primary',
'label'=>'Save changes',
'url'=>'#',
'htmlOptions'=>array('onclick' => '$("#formID").submit()'),
)); ?>
<?php $this->widget('bootstrap.widgets.TbButton', array(
'label'=>'Close',
'url'=>'#',
'htmlOptions'=>array('data-dismiss'=>'modal'),
)); ?>
This first response didn't resolve my problem of a modal form closing on submit. For anyone else that is having issues, I had to enable client Validation in the CActiveForm.
It ended up looking like this:
$form = $this->beginWidget(
'CActiveForm',
array(
'id' => 'feature-form',
'enableAjaxValidation' => true,
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true,
'validateOnChange' => true,
'validateOnType' => true
)
)
);
Hopefully this helps some coming after me.
just trigger the click event on the other one that you don't want to show, an also hide it first!

bootstrap codeigniter form input and submit button

I am trying to go along with bootstrap and Codeigniter, but I am having a little problem, I cant seem to figure out how to align 3 simple elements into one row, so they are aligned perfectly next to each other.
I want my H3 tag, input field and my submit button from my form to be next to each other. I have already tried the span4 on the 3 objects within divs, then also display:inline, but nothing works correctly. I dont know why, but If I want them to be perfectly next to each other, I just have to put there margin-top: -7px and other margins on the other objects but this looks like a not a good approach on this matter at all. Could you please help me ? !
My code:
<div class="well">
<h3>My superb h3 tag!</h3>
<?php echo form_open('search/quick_search'); ?>
<?php echo form_error('search_query'); ?>
<?php echo form_input('search_query','','placeholder="Search query"'); ?>
<?php echo form_submit('submit_quick_search','Search','class="btn"'); ?>
<?php echo form_close(); ?>
How does it look
This is how I've been using then together (Horizontal form)
<?php echo form_open('search/quick_search', 'class="form-horizontal');?>
<div class="control-group <?php echo form_error('search_query')? 'error' : ''; ?>">
<label class="control-label" for="search_query">Search Term:</label>
<div class="controls">
<?php echo form_input('search_query','','placeholder="Search query"'); ?>
<span class="help-inline"><?php echo form_error('search_query'); ?></span>
<span class="help-block"></span>
</div>
</div>
<div class="form-actions">
<?php echo form_submit('submit_quick_search', 'Search', 'class="btn"'); ?>
</div>
<?php echo form_close(); ?>

z-index issue on iPad/iPhone

first of all I have very little experience with CSS/HTML, I'm not a webdesigner/coder, basically I have no clue what I'm doing.
I'm also close to kill myself because nothing helped. I really appreciate everyone who's trying to help me.
When you go on pawelpietryka.com and hover on the image it slides in a div via webkit transition and basically everything works.
I'm also using a webkit inset shadow which is animated too. I had big issues with this shadow because it always appeared behind the image (not in front) ... I hacked it with these changes
#demo-5 img { z-index: -1; position: relative; vertical-align: top; }
As soon as I put the z-index: -1; in it doesn't work on iPad/iPhone anymore, I'm tapping on the container and nothing happens.
(I'm assuming it doesn't have a hover state and when I'm trying to tap it it's somehow BEHIND the main layer.)
I've seen this on other page and the ideal scenario would be: 1) First tap box slides in 2) Second tap jump to destination.
Thanks!
If you think of your div nesting as a pyramid such as...
<pyramid>
<section level="1">
<section level="2">
</section>
</section>
</pyramid>
You can't get level 2 to appear under level 1, because level 1 contains level 2. If you would want level 2 to appear over level 2, usually they would be siblings, i.e
<pyramid>
<section level="1"></section>
<section level="2"></section>
</pyramid>
But in your specific case, I would recommend putting the image as the background of the div
<div id="boxes">
<?php while ( have_posts() ) : the_post(); ?>
<div class="box">
<a href="<?php the_permalink(); ?>">
<div class="rel" id="demo-5" style="background: transparent url(<?php the_post_thumbnail('homepage-thumb'); ?>) top left no-repeat">
<div class="detailsausgeblendet">
<h1><?php the_title(); ?></h1>
<?php the_excerpt() ?>
</div>
</div>
</a>
</div>
<?php endwhile; ?>
</div>
Trying to post it here, the formatting is odd on comments
<div id="boxes">
<?php while ( have_posts() ) : the_post(); ?>
<div class="box">
<a href="<?php the_permalink(); ?>"><div class="rel" id="demo-5" style="background-image:<?php the_post_thumbnail('homepage-thumb'); ?>">
<div class="detailsausgeblendet">
<h1><?php the_title(); ?></h1>
<?php the_excerpt() ?>
</div>
<?php endif ?>
</div></a>
</div>
<?php endwhile; ?>
</div>
And this is the code 'unchanged'
<div id="boxes">
<?php while ( have_posts() ) : the_post(); ?>
<div class="box">
<div class="rel" id="demo-5">
<?php the_post_thumbnail('homepage-thumb', array('alt' => '', 'title' => '')) ?>
<?php if ($imbalance2_theme_options['images_only'] == 0): ?>
<a href="<?php the_permalink(); ?>"><div class="detailsausgeblendet">
<h1><?php the_title(); ?></h1>
<?php the_excerpt() ?>
</div></a>
<?php endif ?>
</div>
</div>