JohannWeiher

Über Johann Weiher

Der Autor hat bisher keine Details angegeben.
Bisher hat Johann Weiher, 536 Blog Beiträge geschrieben.

Zuberhütte

Das Projekt ist schon über vier Jahre alt… und ich hab es seit dem auf der Todo-Liste um mal was zu bloggen.
Aus diesem Grund wird der Beitrag auch kurz, da er sonst nie fertig wird.

Wir haben uns in den Bergen in den Zuber verliebt… Für uns einfach der “Pool”.
Ich persönlich bin kein Sauna-Freund, aber so bisl Wellness daheim wäre schon schön.

Darum haben wir uns auf die Suche gemacht. Kriterien waren:

  • Kunststoffwanne: Leichter zu reinigen & dicht
  • Whirlpoolsystem: Wunsch der Frau
  • Tief: Bin ziemlich groß. Bei normaler Höhe würden meine Schulter rausschauen.

Wir sind dann hier fündig geworden. Leider kann ich aber den Hersteller nicht empfehlen. Nach dreimaliger Reparatur war der Zuber undicht und einige Teile einfach mangelhaft. Naja… Selbst ist der Mann und ich habe ihn dann abgedichtet, isoliert und die kaputten Holzteile ausgetauscht.

An dieser Stelle möchte ich jedem empfehlen KEIN Whirlpoolsystem zu kaufen. Ist schwierig das dicht zu halten bzw. dass es nicht auffriert.

Soweit so gut. Nun brauchten wir aber noch eine Überdachung für den Zuber. Mit Pavillon usw. überlegt, aber irgendwann hatten wir die Idee von einem “Gartenhäusschen”. Wir brauchen aber dann eines mit großer überdachten Terrasse, was nicht so einfach ist. Hier sind wir dann fündig geworden. Lustigerweise ist die Ausstellung ca. 20 Minuten von uns daheim entfernt und so konnten wir einiges anschauen. Das Modell was wir uns aussuchten war im Abverkauf und somit vergleichsweise günstig.
Innen sollte ein Kühlschrank und eine Sitzgelegenheit sein. Als Ofen haben wir einen kleinen Elektroofen gekauft der einen schönen Feuerstellen-Effekt hat. Ansonsten soll alles rustikal und eher im Hüttenstil sein. Darum haben wir das Holz auch geflämmt. Was super einfach ist und toll aussieht.

Alles in allem kann ich jedem aber so einen Zuber empfehlen. Macht einfach Spaß draußen zu sitzen. Vor allem wenn es draußen bitter kalt ist :^)

 

Von |2018-07-26T05:55:57+02:002018-07-25|Garten, Projekte|

Avada collapse comments

Wie schon beschrieben, bin ich Fan von schlichten Internetseiten, die beim Lesen nicht mit überflüssigem Inhalt ablenken. Das Kommentieren Feld gehört da für mich dazu.
Anscheinend gibt es kein WordPress-Plugin das out-of-the-box das Kommentarfeld ein- bzw. ausklappen kann.

Somit hab ich ein Child-Theme von Avada gemacht und die comments.php  angepasst:

<?php
/**
 * Comments template.
 *
 * @package Avada
 * @subpackage Templates
 */

// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'Direct script access denied.' );
}

do_action( 'avada_before_comments' );

/*
 * If the current post is protected by a password and
 * the visitor has not yet entered the password we will
 * return early without loading the comments.
 */
?>

<?php if ( post_password_required() ) : ?>
	<?php return; ?>
<?php endif; ?>

<?php $title_size = ( false === avada_is_page_title_bar_enabled( get_the_ID() ) ? '2' : '3' ); ?>
<?php if ( have_comments() ) : ?>

	<div id="comments" class="comments-container">
		<?php ob_start(); ?>
		<?php comments_number( esc_html__( 'No Comments', 'Avada' ), esc_html__( 'One Comment', 'Avada' ), esc_html( _n( '% Comment', '% Comments', get_comments_number(), 'Avada' ) ) ); ?>
		<?php Avada()->template->title_template( ob_get_clean(), $title_size ); ?>

		<?php if ( function_exists( 'the_comments_navigation' ) ) : ?>
			<?php the_comments_navigation(); ?>
		<?php endif; ?>

		<ol class="comment-list commentlist">
			<?php wp_list_comments( 'callback=avada_comment' ); ?>
		</ol><!-- .comment-list -->

		<?php if ( function_exists( 'the_comments_navigation' ) ) : ?>
			<?php the_comments_navigation(); ?>
		<?php endif; ?>
	</div>

<?php endif; ?>

<?php if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
	<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'Avada' ); ?></p>
<?php endif; ?>

<?php if ( comments_open() ) : ?>

</br> <!--Suplanus: Start Added collapse-->
<button data-toggle="collapse" data-target="#collapsable" class="fusion-button fusion-button-default fusion-button-default-size">Add Comment</button> 
<div id="collapsable" class="collapse">
<!--Suplanus: End Added collapse-->

	<?php
	$commenter = wp_get_current_commenter();
	$req       = get_option( 'require_name_email' );
	$aria_req  = ( $req ) ? " aria-required='true'" : '';
	$html_req  = ( $req ) ? " required='required'" : '';
	$html5     = ( 'html5' === current_theme_supports( 'html5', 'comment-form' ) ) ? 'html5' : 'xhtml';
	$consent   = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';

	$fields = array();

	$fields['author']  = '<div id="comment-input"><input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" placeholder="' . esc_html__( 'Name (required)', 'Avada' ) . '" size="30"' . $aria_req . $html_req . ' aria-label="' . esc_attr__( 'Name', 'Avada' ) . '"/>';
	$fields['email']   = '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" placeholder="' . esc_html__( 'Email (required)', 'Avada' ) . '" size="30" ' . $aria_req . $html_req . ' aria-label="' . esc_attr__( 'Email', 'Avada' ) . '"/>';
	$fields['url']     = '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" placeholder="' . esc_html__( 'Website', 'Avada' ) . '" size="30" aria-label="' . esc_attr__( 'URL', 'Avada' ) . '" /></div>';
	$fields['cookies'] = '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /><label for="wp-comment-cookies-consent">' . esc_html__( 'Save my name, email, and website in this browser for the next time I comment.', 'Avada' ) . '</label></p>';

	$comments_args = array(
		'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
		'comment_field'        => '<div id="comment-textarea"><label class="screen-reader-text" for="comment">' . esc_attr__( 'Comment', 'Avada' ) . '</label><textarea name="comment" id="comment" cols="45" rows="8" aria-required="true" required="required" tabindex="0" class="textarea-comment" placeholder="' . esc_html__( 'Comment...', 'Avada' ) . '"></textarea></div>',
		'title_reply'          => esc_html__( '' ), /* Suplanus: Removed Text for removing header */
		'title_reply_to'       => esc_html__( '' ), /* Suplanus: Removed Text for removing header */
		'title_reply_before'   => '', /* Suplanus: Removed Text for removing header */
		'title_reply_after'    => '', /* Suplanus: Removed Text for removing header */
		/* translators: Opening and closing link tags. */
		'must_log_in'          => '<p class="must-log-in">' . sprintf( esc_html__( 'You must be %1$slogged in%2$s to post a comment.', 'Avada' ), '<a href="' . wp_login_url( apply_filters( 'the_permalink', get_permalink() ) ) . '">', '</a>' ) . '</p>',
		/* translators: %1$s: The username. %2$s and %3$s: Opening and closing link tags. */
		'logged_in_as'         => '<p class="logged-in-as">' . sprintf( esc_html__( 'Logged in as %1$s. %2$sLog out &raquo;%3$s', 'Avada' ), '<a href="' . admin_url( 'profile.php' ) . '">' . $user_identity . '</a>', '<a href="' . wp_logout_url( apply_filters( 'the_permalink', get_permalink() ) ) . '" title="' . esc_html__( 'Log out of this account', 'Avada' ) . '">', '</a>' ) . '</p>',
		'comment_notes_before' => '',
		'id_submit'            => 'comment-submit',
		'class_submit'         => 'fusion-button fusion-button-default fusion-button-default-size',
		'label_submit'         => esc_html__( 'Post Comment', 'Avada' ),
	);

	comment_form( $comments_args );
endif;
?>
<div>
Von |2018-07-24T08:18:55+02:002018-07-24|Allgemein|

Avada sticky Header Höhe

Um die Höhe vom Sticky Header (Kopfmenü wenn nach unten gescrollt wird) zu ändern muss folgende custom CSS hinterlegt werden:

/* Sticky header height fix */
header.fusion-header-wrapper.fusion-is-sticky nav.fusion-main-menu li {
margin: 0 !important;
}
header.fusion-header-wrapper.fusion-is-sticky nav.fusion-main-menu li a {
height: 34px !important;
line-height: 34px !important;
}
header.fusion-header-wrapper.fusion-is-sticky .fusion-header {
height: auto !important;
}

In diesem Fall wäre die Höhe dann 34px .

Von |2018-07-21T20:39:59+02:002018-07-20|Allgemein|

Neues Design V3

Unschwer zu erkennen gibt es ein neues Design. War mit dem alten nie zufrieden. Das Gelb störte mich. Somit ist jetzt alles in Weiß-Dunkelgrau-Grün.
Gerade gesehen ich hab wohl einen Vierjahre-Rythmus … 2010, 2014, 2018. Hat nix mit Fußball zu tun. Ist aber trotzdem lustig.

Alles bisl schlichter und auf den Content fixiert. So lese ich am liebsten Websites.

Bin noch nicht fertig, aber wollte das alles mal live schalten, da ich sonst immer in zwei Systemen die Updates usw. fahren muss.

Die Homepage hat einen Revolution-Slider. Der leider nicht im Internet-Explorer und Edge funktioniert. Das nehme ich aber gerne in Kauf. Vielleicht kann ich das aber noch fixen. Konnte das Problem zusammen mit den Support fixen, hier die Lösung:

@supports (-ms-ime-align: auto){
.blendimage{display:none !important;}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.blendimage{display:none !important;}
}

Für die verschiedenen Farben in den Polygonen dient ein Hintergrundbild (in meinem Fall das Logo von Suplanus). Dieses wird dann im IE und Edge ausgeblendet. Somit dort nur einfarbig.

Als Theme fungiert Avada. Hab aber schon einiges angepasst.

Somit werde ich im Laufe der Zeit mal weiter basteln. Hoffe es gefällt euch!

Von |2018-07-20T07:45:25+02:002018-07-19|Allgemein|

ExportProjectMissingTranslation

Luc S. hat ein Script erstellt um fehlende Übersetzungen eines Projektes zu exportieren bzw. anzuzeigen. Vielen Dank für das Bereitstellen!

Download auf GitHub

//===================================================
// LUC S.  04-07-2018
// Script Exportiert die Fehlworteliste für die eingestellte Projektsprache
//===================================================
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.IO;

//==========================================
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

//==========================================
public class Export_Project_Missing_Translation
{
    [DeclareAction("Export_Project_Missing_Translation")]
    //[Start]
    public void Export_Txt_Fehlworte()
    {
    //=======================================================================  
    // Dialogabfrage
        const string message = "Prüfung von fehlenden Übersetzungen durchführen?";
        const string caption = "Export Fehlworteliste";
        var result = MessageBox.Show(message, caption,
                                     MessageBoxButtons.YesNo,
                                     MessageBoxIcon.Question);

        if (result == DialogResult.No)
        {
           return;
        }
     //=======================================================================
     // aktuelles Projektpfad ermitteln	
        string sProject = Get_Project();
		//sProject = sProject.Replace("File-2", "K-ELT-01");

        if (sProject == "")
        {
            MessageBox.Show("Projekt auswählen !");
            return;
        }
        //MessageBox.Show(sProject);
        
        // Projektname ermitteln
        string strProjectname = Get_Name(sProject);

     //=======================================================================
     //eingestellte Projektsprache EPLAN ermitteln 
        string strDisplayLanguage = null;
        ActionCallingContext ACCDisplay = new ActionCallingContext();
        new CommandLineInterpreter().Execute("GetDisplayLanguage", ACCDisplay);
        ACCDisplay.GetParameter("value", ref strDisplayLanguage);
        //MessageBox.Show("Language : " + strDisplayLanguage);
			
    //=======================================================================    
  	//Fehlworteliste erzeugen :
         Eplan.EplApi.ApplicationFramework.ActionCallingContext acctranslate = new Eplan.EplApi.ApplicationFramework.ActionCallingContext();
	     Eplan.EplApi.ApplicationFramework.CommandLineInterpreter CLItranslate = new Eplan.EplApi.ApplicationFramework.CommandLineInterpreter(); 
         Eplan.EplApi.Base.Progress progress = new Eplan.EplApi.Base.Progress("SimpleProgress");
         progress.BeginPart(100, "");
         progress.SetAllowCancel(true);


         string MisTranslateFile = @"c:\TEMP\EPLAN\EPLAN_Fehlworteliste_" + strProjectname + "_" + strDisplayLanguage + ".txt";
	     acctranslate.AddParameter("TYPE", "EXPORTMISSINGTRANSLATIONS");
         acctranslate.AddParameter("LANGUAGE", strDisplayLanguage);
	     acctranslate.AddParameter("EXPORTFILE", MisTranslateFile);
	     acctranslate.AddParameter("CONVERTER", "XTrLanguageDbXml2TabConverterImpl");        

	     bool sRet = CLItranslate.Execute("translate", acctranslate);

        if (!sRet)
        {
            MessageBox.Show("Fehler bei Export fehlende Übersetzungen!");
            return;
        }

       // MessageBox.Show("Fehlende Übersetzungen exportiert in : " + MisTranslateFile);

    //=================================================================
    //Fehlworteliste lesen und Zeilenanzahl ermitteln :

        int counter = 0;
        string line;
        
           if (File.Exists(MisTranslateFile))
            { 
                using (StreamReader countReader = new StreamReader(MisTranslateFile))
                {
                    while (countReader.ReadLine() != null)
                        counter++;
                }
                // MessageBox.Show("Zeilenanzahl in " + MisTranslateFile + " : " + counter);

             if (counter > 1)

                    //=================================================================
                    //Fehlworteliste öffnen falls Zeilenanzahl > 1 :

                    {
                        // MessageBox.Show("Fehlende Übersetzungen gefunden !");       
                        // Open the txt file with missing translation
                        System.Diagnostics.Process.Start("notepad.exe", MisTranslateFile);
                    }

            }  

        progress.EndPart(true);
     return;
    }

 //=======================================================================
   public string Get_Project()
    {
	try
	    {
		    // aktuelles Projekt ermitteln
		    //==========================================
		    Eplan.EplApi.ApplicationFramework.ActionManager oMngr = new Eplan.EplApi.ApplicationFramework.ActionManager();
		    Eplan.EplApi.ApplicationFramework.Action oSelSetAction = oMngr.FindAction("selectionset");
		    string sProjektT = "";
		    if (oMngr != null)
		    {
			    Eplan.EplApi.ApplicationFramework.ActionCallingContext ctx = new Eplan.EplApi.ApplicationFramework.ActionCallingContext();
			    ctx.AddParameter("TYPE", "PROJECT");
			    bool sRet = oSelSetAction.Execute(ctx);

			    if (sRet)
			    {ctx.GetParameter("PROJECT",ref sProjektT);}
			    //MessageBox.Show("Projekt: " + sProjektT);
		    }
		    return sProjektT;
        }
	    catch
 		    {return "";}
    }

   //################################################################################################
   public string Get_Name(string sProj)
   {
       try
       {
           // Projektname ermitteln
           //==========================================
           int i = sProj.Length - 5;
           string sTemp = sProj.Substring(1, i);
           i = sTemp.LastIndexOf(@"\");
           sTemp = sTemp.Substring(i + 1);
           //MessageBox.Show("Ausgabe: " + sTemp);
           return sTemp;
       }
       catch
       { return "ERROR"; }
   }

}
Von |2018-08-17T12:30:47+02:002018-07-09|EPLAN, EPLAN-Scripts|
Nach oben