Her får du hjelp til å lage hjemmeside med video. Alle verktøy og programmer vi bruker til å lage webside er gratis.
Kontroller innhold i node teaser, node body og RSS for noder
Vil du styre hvordan nodene fremstår i teaser, body og RSS-feedet, så er denne videoguiden noe for deg. Her ser vi hvordan man kontrollere hvordan noder ser ut.
For hver innholdstype har man noder, og hver node har en teaser (det som vises i lister på forsiden o.l.) og en body (noden i sin helhet). Videre puttes hele eller deler av innholdet i noden i RSS-feeds (RSS-strømmer). Med content template kan man kontrollere hva som vises i teaser, body og RSS-feedet.
For å bruke modulen content template til fullest, bør man ha elementere kunnskaper i HTML, CSS og PHP. Sistnevnte er best for å legge inn logikk eller redigere output fra variablene for hver node, mens HTML og CSS brukes for å legge markup og designe markupet rundt data for nodene. Merk at hvis du ikke kan noen av disse, så finner du meget nyttige videokurser i HTML, CSS og PHP her:
I videotutorialen nedenfor ser du hvordan man kan bruke content template for å ta full kontroll over hvordan forskjellige innholdstyper fremstår for brukerne.
Hvordan kontrollere output i teaser, body og RSS for noder basert på innholdstype
Modulene vi bruker i denne guiden er views, CCK og contemplate. Last ned og installer disse. Hvilke instillinger og deler av modulene vi bruker i videoen, ser du underveis.
Importdata & Templates
Her er importfiler og template for innholdstypen stillingsutlysning
, slik at du slipper å opprette alle selv. Merk at du selv må legge inn data i innholdstypene, f.eks. en egen stilling + et par søknader.
Importfiler for innholdstyper
For å importere innholdstyper, gå til: domene.com/admin/content/types/import
Innholdstype for stillingsutlysning
$content['type'] = array (
'name' => 'Stillingsutlysning',
'type' => 'stillingsutlysning',
'description' => '',
'title_label' => 'Tittel',
'body_label' => 'Tekst',
'min_word_count' => '0',
'help' => '',
'node_options' =>
array (
'status' => true,
'promote' => true,
'sticky' => false,
'revision' => false,
),
'language_content_type' => '0',
'old_type' => 'stillingsutlysning',
'orig_type' => '',
'module' => 'node',
'custom' => '1',
'modified' => '1',
'locked' => '0',
'comment' => '0',
'comment_default_mode' => '4',
'comment_default_order' => '1',
'comment_default_per_page' => '50',
'comment_controls' => '3',
'comment_anonymous' => 0,
'comment_subject_field' => '1',
'comment_preview' => '1',
'comment_form_location' => '0',
);
$content['groups'] = array (
0 =>
array (
'label' => 'Kort om stillingen',
'group_type' => 'standard',
'settings' =>
array (
'form' =>
array (
'style' => 'fieldset',
'description' => '',
),
'display' =>
array (
'description' => '',
'teaser' =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'full' =>
array (
'format' => 'fieldset',
'exclude' => 1,
),
4 =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'label' => 'above',
),
),
'weight' => '-4',
'group_name' => 'group_kort',
),
);
$content['fields'] = array (
0 =>
array (
'label' => 'Firma',
'field_name' => 'field_firma',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '1',
'rows' => 5,
'size' => '60',
'description' => '',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_firma][0][value',
),
),
'default_value_php' => '',
'default_value_widget' => NULL,
'group' => 'group_kort',
'required' => 1,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => 'group_kort',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 1,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
1 =>
array (
'label' => 'Webside',
'field_name' => 'field_webside',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '2',
'rows' => 5,
'size' => '60',
'description' => 'Skriv inn URL med http',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_webside][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_webside' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_webside][0][value',
),
),
),
'group' => 'group_kort',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '2',
'parent' => 'group_kort',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 1,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
2 =>
array (
'label' => 'Omfang',
'field_name' => 'field_omfang',
'type' => 'text',
'widget_type' => 'optionwidgets_select',
'change' => 'Change basic information',
'weight' => '3',
'description' => '',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_omfang' =>
array (
'value' => '',
),
),
'group' => 'group_kort',
'required' => 1,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Heltid
Deltid
Ringehjelp',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '3',
'parent' => 'group_kort',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 1,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
);
$content['extra'] = array (
'title' => '-5',
'body_field' => '-2',
'revision_information' => '-1',
'comment_settings' => '0',
'menu' => '-3',
);Innholdstype for jobbsøknad
$content['type'] = array (
'name' => 'Jobbsøknad',
'type' => 'jobbsoknad',
'description' => '',
'title_label' => 'Tittel',
'body_label' => 'Tekst',
'min_word_count' => '0',
'help' => '',
'node_options' =>
array (
'status' => true,
'promote' => false,
'sticky' => false,
'revision' => false,
),
'language_content_type' => '0',
'old_type' => 'jobbsoknad',
'orig_type' => '',
'module' => 'node',
'custom' => '1',
'modified' => '1',
'locked' => '0',
'comment' => '0',
'comment_default_mode' => '4',
'comment_default_order' => '1',
'comment_default_per_page' => '50',
'comment_controls' => '3',
'comment_anonymous' => 0,
'comment_subject_field' => '1',
'comment_preview' => '1',
'comment_form_location' => '0',
);
$content['fields'] = array (
0 =>
array (
'label' => 'Stilling',
'field_name' => 'field_stilling',
'type' => 'nodereference',
'widget_type' => 'nodereference_buttons',
'change' => 'Change basic information',
'weight' => '43',
'autocomplete_match' => 'contains',
'size' => 60,
'description' => '',
'default_value' =>
array (
0 =>
array (
'nid' => '',
),
),
'default_value_php' => '',
'default_value_widget' => NULL,
'group' => false,
'required' => 1,
'multiple' => '0',
'referenceable_types' =>
array (
'stillingsutlysning' => 'stillingsutlysning',
'story' => 0,
'jobbsoknad' => 0,
'page' => 0,
),
'advanced_view' => '--',
'advanced_view_args' => '',
'op' => 'Save field settings',
'module' => 'nodereference',
'widget_module' => 'nodereference',
'columns' =>
array (
'nid' =>
array (
'type' => 'int',
'unsigned' => true,
'not null' => false,
'index' => true,
),
),
'display_settings' =>
array (
'label' =>
array (
'format' => 'above',
'exclude' => 0,
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
);
$content['extra'] = array (
'title' => '44',
'body_field' => '46',
'revision_information' => '47',
'comment_settings' => '48',
'menu' => '45',
);Importdata for contemplate node body
For å legge inn et template for denne innholdstypen, gå til: domene.com/admin/content/node-type/stillingsutlysning/template
<script type="text/javascript">
function goTo(url) {
window.location=url;
}
</script>
<div style="float: right; width: 25%; border: 2px dashed #ebebeb; padding: 5px;">
<dl>
<dt>Firma:</dt>
<dd>
<?php if(strlen($node->field_webside[0]['safe']) > 5) : ?>
<a href="<?php print $node->field_webside[0]['safe']; ?>" title="<?php print $node->field_firma[0]['safe'] ?>"><?php print $node->field_firma[0]['safe'] ?></a>
<?php else: ?>
<?php print $node->field_firma[0]['safe'] ?>
<?php endif; ?>
</dd>
<dt>Omfang:</dt>
<dd><?php print $node->field_omfang[0]['safe'] ?></dd>
</dl>
<form>
<div id="apply">
<input type="button" value="Søk stillingen" onclick="goTo('/node/add/jobbsoknad')" />
</div>
</form>
<?php global $user; if($user->uid == $node->uid) : ?>
<form>
<div id="applications">
<input type="button" value="Se søknader" onclick="goTo('/jobbsoknader/<?php print $node->nid; ?>')" />
</div>
</form>
<?php endif; ?>
</div>
<?php print $body ?>Merk at denne innholdstemplaten ikke er optimal. Det er langt bedre å skille JavaScript i egne filer, gi HTML-elementer classer via class-attributten og style classer og IDer ved hjelp av CSS i de respektive CSS-filene til themet du bruker. En del påkrevde HTML-attributter jfr. validert markup er også utelatt, og templaten er kun et eksempel på hvordan man bruker HTML, CSS og PHP for å kontrollere node body, node teaser og node RSS. For mer hjelp med dette, må du gjerne stille spørsmål i hjemmesideforaet.
Importdata for views
For å legge inn denne view, gå til: domene.com/admin/build/views/import
$view = new view;
$view->name = 'list_jobbsoknad';
$view->description = '';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('relationships', array(
'field_stilling_nid' => array(
'label' => 'Stilling',
'required' => 1,
'delta' => -1,
'id' => 'field_stilling_nid',
'table' => 'node_data_field_stilling',
'field' => 'field_stilling_nid',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$handler->override_option('fields', array(
'title' => array(
'label' => 'Tittel',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$handler->override_option('arguments', array(
'nid' => array(
'default_action' => 'not found',
'style_plugin' => 'default_summary',
'style_options' => array(),
'wildcard' => 'all',
'wildcard_substitution' => 'Alle',
'title' => '',
'breadcrumb' => '',
'default_argument_type' => 'fixed',
'default_argument' => '',
'validate_type' => 'numeric',
'validate_fail' => 'not found',
'break_phrase' => 0,
'not' => 0,
'id' => 'nid',
'table' => 'node',
'field' => 'nid',
'validate_user_argument_type' => 'uid',
'validate_user_roles' => array(
'2' => 0,
'4' => 0,
),
'override' => array(
'button' => 'Override',
),
'relationship' => 'field_stilling_nid',
'default_options_div_prefix' => '',
'default_argument_user' => 0,
'default_argument_fixed' => '',
'default_argument_php' => '',
'validate_argument_node_type' => array(
'jobbsoknad' => 0,
'page' => 0,
'stillingsutlysning' => 0,
'story' => 0,
),
'validate_argument_node_access' => 0,
'validate_argument_nid_type' => 'nid',
'validate_argument_vocabulary' => array(
'1' => 0,
),
'validate_argument_type' => 'tid',
'validate_argument_transform' => 0,
'validate_user_restrict_roles' => 0,
'validate_argument_php' => '',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', NULL);
$handler = $view->new_display('page', 'Nettside', 'page_1');
$handler->override_option('path', 'jobbsoknader/%');
$handler->override_option('menu', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
'name' => 'navigation',
));
$handler->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
));