Ondersteuning » Code oplossingen gezocht » Een div class mee verzenden in een mail

  • Opgelost justinvdv

    (@justinvdv)


    Hallo

    Ik maak gebruik van contact form 7.
    Ik heb per week verschillende sport evenementen in de all in one event caledar staan.
    Nu kunnen mensen dus via een mail zich aanmelden voor een evenement.
    Op dit moment heb ik dan via een dropdown menu een keuze voor de datum wanneer zij willen komen.

    Is het mogelijk dat ik deze datum automatisch laat mee verzenden in de mail.
    Ik dacht dat dit misschien kon door de <div class=” “> mee te verzenden in de mail. Maar hoe doe ik dat?

    Of moet dit op een andere manier.

    Alvast bedankt!!

15 reacties aan het bekijken - 16 tot 30 (van in totaal 46)
  • Thread starter justinvdv

    (@justinvdv)

    dit is de xpath: //*[@id=”post-77″]/div/div[2]/div[2]/div[1]/div[2]

    en dit is de css path: #post-77 > div > div.timely.ai1ec-single-event.ai1ec-event-id-77.ai1ec-event-instance-id-1 > div.ai1ec-event-details.ai1ec-clearfix > div.ai1ec-time.ai1ec-row > div.ai1ec-field-value.ai1ec-col-sm-9.dt-duration

    Thread starter justinvdv

    (@justinvdv)

    Beste Danny,

    Ik heb verschillende codes gevonden in:

    public/sites/www.trainingzuid.nl/wp-content/plugins/all-in-one-event-calendar/app/view/event/time.php

    De eerste code is om de datum weg te laten (in dit geval 10 februari):

    switch ( $start_date_display ) {
    case ‘hidden’:
    break;
    case ‘short’:
    case ‘long’:
    $property = $start_date_display . ‘_date’;
    $output .= $this->{‘get_’ . $property}( $start, $break_years );
    break;
    default:
    $start_date_display = ‘long’;
    }

    De 2e code is om de begin tijd te weergeven (in dit geval 9:10):

    if ( ! $event->is_allday() ) {
    if ( ‘hidden’ !== $start_date_display ) {
    $output .= apply_filters(
    ‘ai1ec_get_timespan_html_time_separator’,
    Ai1ec_I18n::_x( ‘ @ ‘, ‘Event time separator’ )
    );
    }
    $output .= $this->get_short_time( $start );
    }

    en die van de eindtijd weet ik niet zeker.
    als ik die verwijder krijg ik een error op de page.

    Ik denk dat de code voor alles bij elkaar deze is:

    if (
    ! (
    $event->is_instant() ||
    ( $event->is_allday() && $start_ts === $end_ts )
    )
    ) {
    $output .= apply_filters(
    ‘ai1ec_get_timespan_html_date_separator’,
    Ai1ec_I18n::_x( ‘ – ‘, ‘Event start/end separator’ )
    );

    Alvast bedankt!

    grtjs
    Justin

    Ik bekijk het morgen even 😉
    en … graag gedaan hoor!
    Grtjs, Danny

    Thread starter justinvdv

    (@justinvdv)

    Heel erg bedankt Danny!
    Ik hoor het graag als je wat nodig hebt

    Groetjes,
    Justin

    Thread starter justinvdv

    (@justinvdv)

    Had je al wat kunnen vinden Danny?

    Ben net thuis van men werk 🙂
    Zal het straks of morgenvroeg even bekijken.

    Thread starter justinvdv

    (@justinvdv)

    Top
    Neem de tijd
    Ben allang blij dat je me wilt helpen!

    Het is mogelijk maar dan dien je de code aan te passen van de plugins … en dat laatste is niet echt een aanrader omdat je dan telkens er updates zijn, je deze code opnieuw moet aanpassen (zie vorig voorbeeld).

    Een globale variabele maken in de plugin die de datum plaatst:

    function mijn_funcs(){
       global $mfuncs;
        $mfuncs = array('my_date' => $de_datum_variabele);
    }

    Ik zet deze in een array, omdat je dan meerdere waardes kunt gebruiken.

    Daarna, kan je net zoals in het vorige voorbeeld deze toevoegen aan het subject:

    $subject.’ [van ID:’.$myid.’]’

    wordt dan:
    $subject.’ [van ID:’.$myid.’]’.$GLOBALS[‘mfuncs’][‘my_date’]

    Dit is heel wat werk, maar dan zou je het kunnen oplossen met 4 lijntjes code.

    Nogmaals, het vergt steeds weer opnieuw aanpassen bij elke update van een plugin en is dus niet echt een aanrader …

    Grtjs, Danny

    Thread starter justinvdv

    (@justinvdv)

    Moet ik deze code in de plugin van de mail of van de kalender verwerken?

    Groet,
    Justin

    global $mfuncs;
    $mfuncs = array(‘my_date’ => $de_datum_variabele);
    in de kalender (deze onthoud dan de datum als globale)

    $subject.’ [van ID:’.$myid.’]’.$GLOBALS[‘mfuncs’][‘my_date’]
    Is het mail stukje eerder beschreven.

    Je kan testen met:
    $mfuncs = array(‘my_date’ => “voorbeeld data”);

    en dit in het subject zetten, om te zien dat je globale variabele wordt gelezen.

    Thread starter justinvdv

    (@justinvdv)

    Oke danny,

    Maakt het nog uit op welke lijn ik het zet?

    Ik heb nu het gene als volgende in mijn mail formulier maar dat werk niet. nu zien mensen de code staan bij het formulier.

    <p>Uw naam (verplicht)
    [text* your-name] </p>

    <p>Uw e-mail (verplicht)
    [email* your-email] </p>

    <p>Onderwerp
    [$mfuncs = array(‘my_date’ => “voorbeeld data”);* your-subject] </p>

    <p>Uw bericht
    [textarea your-message] </p>

    <p>[submit “Verzenden”]</p>

    Groet,
    Justin

    Thread starter justinvdv

    (@justinvdv)

    Danny ik heb begrepen wat je ermee bedoeld.

    Ik de

    function mijn_funcs(){
    global $mfuncs;
    $mfuncs = array(‘my_date’ => $de_datum_variabele);
    }

    Gewoon ergens in het time.php bestand geplaatst.

    De code in de mail aangepast.

    en $mfuncs = array(‘my_date’ => “voorbeeld data”); in het onderwerp gezet.

    Echter zie ik nu: $mfuncs = array(‘my_date’ => “voorbeeld data”); [van id:…] in het onderwerp binnen komen.

    Ik zie er geen datum bij staan.

    Moet ik die code voor de kalender wel in het time.php bestand plaatsen?
    of moet deze in een ander bestand van de kalender?

    Groet,
    Justin

    Dag Justin,
    Ben al blij dat je er ‘echt’ mee bezig bent 😉
    Geef me de exacte naam eens van de plugin die de datum daar zet.
    Dan bekijk even een totaal oplossing (al weten we dat we bij elke update …)
    Gtrjs, Danny

    Thread starter justinvdv

    (@justinvdv)

    Hey Danny,

    All in one event calendar

    Gemaakt door time.ly

    Thnx!!

    Oke een andere maar werkende benadering:

    ../wp-content/plugins/all-in-one-event-calendar/app/view/event/single.php
    De lege lijn: 139, zet volgende:

    if(!session_id()) session_start();
    $my_date = $args['start'];
    if(!isset($_SESSION['my_date'])) {
        $_SESSION['my_date'] = $my_date;
    }

    dit is na lijn 138 die eindigt met );
    Voorbeeld 1

    Dan in:
    /wp-content/plugins/contact-form-7/includes/mail.php
    op lijn 43 (NA: $use_html = (bool) $template[‘use_html’]; )

    Plaats deze code:

    if(!session_id()) session_start();
    		$xtra = " Start : ".$_SESSION['my_date'];

    Voorbeeld 2

    en als laatste verander je iets verder :
    return wp_mail( $recipient, $subject, $body, $headers, $attachments );
    naar:
    return wp_mail( $recipient, $subject.$xtra, $body, $headers, $attachments );

    Hier krijg je dan meteen de start datum en tijd in het onderwerp.

    Succes!
    Grtjs, Danny

15 reacties aan het bekijken - 16 tot 30 (van in totaal 46)
  • Het onderwerp ‘Een div class mee verzenden in een mail’ is gesloten voor nieuwe reacties.